{"id":17923754,"url":"https://github.com/deryeger/apollo-backend","last_synced_at":"2025-03-24T02:33:11.736Z","repository":{"id":37639694,"uuid":"322609679","full_name":"DerYeger/apollo-backend","owner":"DerYeger","description":"A web application for first-order model checking in graph structures.","archived":false,"fork":false,"pushed_at":"2024-06-08T19:16:50.000Z","size":5428,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-19T01:11:21.580Z","etag":null,"topics":["first-order-logic","graph","hacktoberfest","kotlin","ktor","modelchecking"],"latest_commit_sha":null,"homepage":"https://apollo-backend.yeger.eu","language":"Kotlin","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},"funding":{"github":"DerYeger"}},"created_at":"2020-12-18T13:55:53.000Z","updated_at":"2024-08-26T02:29:53.000Z","dependencies_parsed_at":"2023-02-18T13:31:07.274Z","dependency_job_id":"5d174c96-bf59-49ed-b3f8-d545290fae8b","html_url":"https://github.com/DerYeger/apollo-backend","commit_stats":null,"previous_names":[],"tags_count":147,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DerYeger%2Fapollo-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DerYeger","download_url":"https://codeload.github.com/DerYeger/apollo-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245198864,"owners_count":20576457,"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":["first-order-logic","graph","hacktoberfest","kotlin","ktor","modelchecking"],"created_at":"2024-10-28T20:45:23.959Z","updated_at":"2025-03-24T02:33:11.420Z","avatar_url":"https://github.com/DerYeger.png","language":"Kotlin","readme":"\u003ch1 align=\"center\"\u003eApollo-Backend\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\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\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/DerYeger/apollo-backend/actions/workflows/ci.yml\"\u003e\n    \u003cimg alt=\"CI\" src=\"https://github.com/DerYeger/apollo-backend/actions/workflows/ci.yml/badge.svg?event=push\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/DerYeger/apollo-backend/actions/workflows/cd.yml\"\u003e\n    \u003cimg alt=\"CD\" src=\"https://github.com/DerYeger/apollo-backend/actions/workflows/cd.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/DerYeger/apollo-backend/actions/workflows/maintenance.yml\"\u003e\n    \u003cimg alt=\"Maintenance\" src=\"https://github.com/DerYeger/apollo-backend/actions/workflows/maintenance.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hub.docker.com/repository/docker/deryeger/apollo-backend\"\u003e\n    \u003cimg alt=\"Docker Image Version (latest semver)\" src=\"https://img.shields.io/docker/v/deryeger/apollo-backend?logo=docker\u0026sort=semver\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://apollo.yeger.eu/\"\u003e\n    apollo.yeger.eu\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e A web application for first-order model checking in graph structures.\n\nThis project and the accompanying bachelor's thesis were inspired by the research group *Theoretical Computer Science / Formal Methods* by the University of Kassel.\nThe parsing and validation logic of the backend is built upon a Java desktop application by Arno Ehle and Benedikt Hruschka.\n\n\u003e Note: This project is also known as **gramoFO**.\n\n## Features\n\n- ✨ **Model Checking**: First-order-logic model checking in graph structures\n- ☑️ **Assignments**: Various assignments, which build an understanding for first-order logic and model checking\n- 💹 **Feedback**: Three different feedback levels provide insight on model-checking results and assignment solutions\n\n## Links\n\n- [Apollo](https://github.com/DerYeger/apollo)\n- [Apollo-Frontend](https://github.com/DerYeger/apollo-frontend)\n- [Apollo-Admin](https://github.com/DerYeger/apollo-admin)\n- [Documentation](https://apollo-backend.yeger.eu/)\n- [Bachelor's thesis (German)](https://jan-mueller.at/documents/bachelor-thesis)\n- [Docker](https://hub.docker.com/repository/docker/deryeger/apollo-backend)\n\n## Development\n\n### Installation\n\nImporting or reloading the Gradle project will also install all required dependencies.\n\n### Development server\n\nThe Gradle `run` task will start the development server.\n\n\u003eNote: Default port is 8080.\n\n### Linting \u0026 formatting\n\nRun the Gradle `ktlintFormat` task to lint and format all source files. It will automatically run before compilation.\n\n## Build\n\nRun the Gradle `build` task to generate a `.jar` file. The build artifacts will be stored in the `build/libs/` directory.\n\n### Running tests\n\nRun the Gradle `test` task to start the development server.\n\n## Deployment\n\nDeployment via Docker is highly recommended.\nThe following configuration is a baseline.\n\n\u003e Please note that manual creation of the `*.secret` files, found at the of the configuration, is required.\n\u003e They must contain a single line.\n\n```yaml\nversion: \"3.7\"\n\nservices:\n  # Apollo Backend\n  apollo-backend:\n    container_name: apollo-backend\n    image: deryeger/apollo-backend:v2.5.0\n    ports:\n      - \"8080:8080\"\n    networks:\n      - apollo-network\n    secrets:\n      - database_user\n      - database_password\n      - default_username\n      - default_password\n      - jwt_secret\n    depends_on:\n      - postgres\n    environment:\n      DATABASE_HOST: \"postgres\"\n      DATABASE_PORT: \"5432\"\n      DATABASE_NAME: \"apollo-database\"\n    restart: unless-stopped\n  # SQL database\n  postgres:\n    image: postgres:13.3@sha256:6647385dd9ae11aa2216bf55c54d126b0a85637b3cf4039ef24e3234113588e3\n    container_name: apollo-postgres\n    ports:\n      - \"5432:5432\"\n    volumes:\n      - \"apollo-data:/var/lib/postgresql/data\"\n    networks:\n      - apollo-network\n    secrets:\n      - database_user\n      - database_password\n    environment:\n      POSTGRES_USER_FILE: \"/run/secrets/database_user\"\n      POSTGRES_PASSWORD_FILE: \"/run/secrets/database_password\"\n      POSTGRES_DB: \"apollo-database\"\n    restart: unless-stopped\n\nvolumes:\n  apollo-data:\n\nnetworks:\n  apollo-network:\n\nsecrets:\n  database_user:\n    file: ./secrets/database_user.secret\n  database_password:\n    file: ./secrets/database_password.secret\n  default_username:\n    file: ./secrets/default_username.secret\n  default_password:\n    file: ./secrets/default_password.secret\n  jwt_secret:\n    file: ./secrets/jwt_secret.secret\n```\n\n## Licenses\n\n[BSD 3-Clause License](./LICENSE) - Copyright \u0026copy; Jan Müller\n","funding_links":["https://github.com/sponsors/DerYeger"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderyeger%2Fapollo-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderyeger%2Fapollo-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderyeger%2Fapollo-backend/lists"}