An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

Apollo-Frontend


Logo



CI


CD


Maintenance



LGTM Grade



apollo.yeger.eu

> 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