A web application for first-order model checking in graph structures.
This project and the accompanying bachelor's thesis were inspired by the research group Theoretical Computer Science / Formal Methods by the University of Kassel. The parsing and validation logic of the backend is built upon a Java desktop application by Arno Ehle and Benedikt Hruschka.
Note: This project is also known as gramoFO.
- 🛠 Graph Editor: Interactive graph editor with support for touch controls
- ✨ Model Checking: First-order-logic model checking in graph structures
- 💹 Feedback: Three different feedback levels provide insight on model-checking results
- ☑️ Assignments: Various assignments, which build an understanding for first-order logic and model checking
- 🔒 Import/Export: Graphs can be saved locally as wells as exported and imported as JSON and YAML
- 📱/💻 Responsive: Optimized for screens of all sizes
- 📶 PWA: Apollo is installable and supports offline editing of graphs
- 🌐 Localization: Fully localized in English and German
- 🌗 Themes: Dark and light designs
Run yarn install to install the required dependencies.
Run yarn start to run a development server. The app will open and automatically reload if any source files are changed.
Note: Default port is 4200.
Run ng g c components/{{component-name}} --module=app to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module. To create components with special names such as Page add --type={{type}}.
Run yarn lint to lint and yarn pretty to format all source files.
Run yarn build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run yarn test to execute the unit tests via Karma.
Run yarn compodoc to generate the documentation. It will be stored in the documentation/ directory.
Run docker-compose up -d --build to build and start a container. Alternatively, build the image via the Dockerfile.
Note: Default port is 80.
Note: Change the argument
BACKEND_URLas required.
BSD 3-Clause License - Copyright © Jan Müller