https://github.com/deryeger/apollo-frontend
A web application for first-order model checking in graph structures.
https://github.com/deryeger/apollo-frontend
angular d3 first-order-logic graph modelchecking typescript
Last synced: 9 months ago
JSON representation
A web application for first-order model checking in graph structures.
- Host: GitHub
- URL: https://github.com/deryeger/apollo-frontend
- Owner: DerYeger
- License: bsd-3-clause
- Created: 2020-12-09T07:35:20.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-08T16:25:52.000Z (almost 2 years ago)
- Last Synced: 2025-07-07T05:03:41.725Z (9 months ago)
- Topics: angular, d3, first-order-logic, graph, modelchecking, typescript
- Language: TypeScript
- Homepage: https://apollo-frontend.yeger.eu
- Size: 24.9 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Apollo-Frontend
> 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**.
## Features
- π **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
## Links
- [Apollo](https://github.com/DerYeger/apollo)
- [Apollo-Backend](https://github.com/DerYeger/apollo-backend)
- [Apollo-Admin](https://github.com/DerYeger/apollo-admin)
- [Documentation](https://apollo-frontend.yeger.eu/)
- [Bachelor's thesis (German)](https://jan-mueller.at/documents/bachelor-thesis)
## Development
### Installation
Run `yarn install` to install the required dependencies.
### Development server
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.
### Code scaffolding
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}}`.
### Linting & formatting
Run `yarn lint` to lint and `yarn pretty` to format all source files.
### Build
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.
### Running tests
Run `yarn test` to execute the unit tests via [Karma](https://karma-runner.github.io).
## Deployment
### Documentation
Run `yarn compodoc` to generate the documentation. It will be stored in the `documentation/` directory.
### Docker
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_URL` as required.
## License
[BSD 3-Clause License](./LICENSE) - Copyright Β© Jan MΓΌller