{"id":17923759,"url":"https://github.com/deryeger/apollo-frontend","last_synced_at":"2025-07-19T04:03:23.229Z","repository":{"id":37351177,"uuid":"319878406","full_name":"DerYeger/apollo-frontend","owner":"DerYeger","description":"A web application for first-order model checking in graph structures.","archived":false,"fork":false,"pushed_at":"2024-06-08T16:25:52.000Z","size":26092,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-07T05:03:41.725Z","etag":null,"topics":["angular","d3","first-order-logic","graph","modelchecking","typescript"],"latest_commit_sha":null,"homepage":"https://apollo-frontend.yeger.eu","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DerYeger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-09T07:35:20.000Z","updated_at":"2024-01-12T18:16:49.000Z","dependencies_parsed_at":"2023-02-12T20:00:28.679Z","dependency_job_id":"8654b77f-7739-4e6f-80e1-a3705163bfee","html_url":"https://github.com/DerYeger/apollo-frontend","commit_stats":null,"previous_names":[],"tags_count":449,"template":false,"template_full_name":null,"purl":"pkg:github/DerYeger/apollo-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DerYeger","download_url":"https://codeload.github.com/DerYeger/apollo-frontend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-frontend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265887077,"owners_count":23844336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","d3","first-order-logic","graph","modelchecking","typescript"],"created_at":"2024-10-28T20:45:25.389Z","updated_at":"2025-07-19T04:03:23.208Z","avatar_url":"https://github.com/DerYeger.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003eApollo-Frontend\u003c/h1\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://raw.githubusercontent.com/DerYeger/apollo-frontend/master/src/assets/icons/android-chrome-512x512.png\" alt=\"Logo\" width=\"128\" height=\"128\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/ci.yml\"\u003e\r\n    \u003cimg alt=\"CI\" src=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/ci.yml/badge.svg?event=push\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/cd.yml\"\u003e\r\n    \u003cimg alt=\"CD\" src=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/cd.yml/badge.svg\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/maintenance.yml\"\u003e\r\n    \u003cimg alt=\"Maintenance\" src=\"https://github.com/DerYeger/apollo-frontend/actions/workflows/maintenance.yml/badge.svg\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://lgtm.com/projects/g/DerYeger/apollo-frontend\"\u003e\r\n    \u003cimg alt=\"LGTM Grade\" src=\"https://img.shields.io/lgtm/grade/javascript/github/DerYeger/apollo-frontend?logo=lgtm\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n   \u003ca href=\"https://apollo.yeger.eu/\"\u003e\r\n    apollo.yeger.eu\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003e A web application for first-order model checking in graph structures.\r\n\r\nThis project and the accompanying bachelor's thesis were inspired by the research group *Theoretical Computer Science / Formal Methods* by the University of Kassel.\r\nThe parsing and validation logic of the backend is built upon a Java desktop application by Arno Ehle and Benedikt Hruschka.\r\n\r\n\u003e Note: This project is also known as **gramoFO**.\r\n\r\n## Features\r\n\r\n- 🛠 **Graph Editor**: Interactive graph editor with support for touch controls\r\n- ✨ **Model Checking**: First-order-logic model checking in graph structures\r\n- 💹 **Feedback**: Three different feedback levels provide insight on model-checking results\r\n- ☑️ **Assignments**: Various assignments, which build an understanding for first-order logic and model checking\r\n- 🔒 **Import/Export**: Graphs can be saved locally as wells as exported and imported as JSON and YAML\r\n- 📱/💻 **Responsive**: Optimized for screens of all sizes\r\n- 📶 **PWA**: Apollo is installable and supports offline editing of graphs\r\n- 🌐 **Localization**: Fully localized in English and German\r\n- 🌗 **Themes**: Dark and light designs\r\n\r\n## Links\r\n\r\n- [Apollo](https://github.com/DerYeger/apollo)\r\n- [Apollo-Backend](https://github.com/DerYeger/apollo-backend)\r\n- [Apollo-Admin](https://github.com/DerYeger/apollo-admin)\r\n- [Documentation](https://apollo-frontend.yeger.eu/)\r\n- [Bachelor's thesis (German)](https://jan-mueller.at/documents/bachelor-thesis)\r\n\r\n## Development\r\n\r\n### Installation\r\n\r\nRun `yarn install` to install the required dependencies.\r\n\r\n### Development server\r\n\r\nRun `yarn start` to run a development server. The app will open and automatically reload if any source files are changed.\r\n\u003eNote: Default port is 4200.\r\n\r\n### Code scaffolding\r\n\r\nRun `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}}`.\r\n\r\n### Linting \u0026 formatting\r\n\r\nRun `yarn lint` to lint and `yarn pretty` to format all source files.\r\n\r\n### Build\r\n\r\nRun `yarn build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.\r\n\r\n### Running tests\r\n\r\nRun `yarn test` to execute the unit tests via [Karma](https://karma-runner.github.io).\r\n\r\n## Deployment\r\n\r\n### Documentation\r\n\r\nRun `yarn compodoc` to generate the documentation. It will be stored in the `documentation/` directory.\r\n\r\n### Docker\r\n\r\nRun `docker-compose up -d --build` to build and start a container. Alternatively, build the image via the Dockerfile.\r\n\u003eNote: Default port is 80.\r\n\r\n\u003eNote: Change the argument `BACKEND_URL` as required.\r\n\r\n## License\r\n\r\n[BSD 3-Clause License](./LICENSE) - Copyright \u0026copy; Jan Müller\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderyeger%2Fapollo-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderyeger%2Fapollo-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderyeger%2Fapollo-frontend/lists"}