{"id":22909490,"url":"https://github.com/roschaefer/auteon-saas","last_synced_at":"2025-04-01T10:04:24.343Z","repository":{"id":150361210,"uuid":"429112958","full_name":"roschaefer/auteon-saas","owner":"roschaefer","description":"Demo application for apollo federation, Dgraph and GraphQL subscriptions","archived":false,"fork":false,"pushed_at":"2021-11-22T08:48:22.000Z","size":113,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T05:29:22.882Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roschaefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-11-17T16:06:19.000Z","updated_at":"2023-03-08T23:24:50.000Z","dependencies_parsed_at":"2023-07-27T16:16:28.799Z","dependency_job_id":null,"html_url":"https://github.com/roschaefer/auteon-saas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roschaefer%2Fauteon-saas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roschaefer%2Fauteon-saas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roschaefer%2Fauteon-saas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roschaefer%2Fauteon-saas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roschaefer","download_url":"https://codeload.github.com/roschaefer/auteon-saas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620262,"owners_count":20806722,"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":[],"created_at":"2024-12-14T03:39:12.315Z","updated_at":"2025-04-01T10:04:24.321Z","avatar_url":"https://github.com/roschaefer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Installation\n\nRun:\n```\ndocker-compose up --build\n```\n\nWait for the Dgraph service to get up and running. Then:\n```\ncurl -X POST localhost:4001/admin/schema --data-binary '@backend/src/gateway/dgraph/types.graphql'\n```\n\n## Keycloak\n\nOpen keycloak at http://localhost:5000. Default admin username and password is\n`admin`.\n\nFollow this tutorial to set up openid: https://developers.redhat.com/blog/2020/01/29/api-login-and-jwt-token-generation-using-keycloak\n\nGet the public key to verify JWTs in the backend:\n`Realm Settings` \u003e\u003e `Keys` \u003e\u003e `Public keys`\n\n## Workaround runtime dependencies\n\nThe backend has a runtime dependency on Dgraph at the moment, so Dgraph must\nexpose a valid schema before the backend starts.\n\nYou can start individual docker services after you populated the schema with the\n`curl` command from above:\n```\ndocker-compose up dgraph keycloak\n```\n\nThen start the backend manually:\n```\ncd backend\nnpm install\nnpm run build\nDGRAPH_ENDPOINT=http://localhost:4001/graphql JWT_PUBLIC_KEY=\"\u003cPUBLIC_KEY_FROM_KEYCLOAK\u003e\" yarn run start\n```\n\n## Usage\n\nTo get a valid JWT token that you can use as a HTTP Bearer token, run the\nfollowing command:\n\n```bash\ncurl -L -X POST 'http://localhost:5000/auth/realms/master/protocol/openid-connect/token' \\\n-H 'Content-Type: application/x-www-form-urlencoded' \\\n--data-urlencode 'scope=openid' \\\n--data-urlencode 'grant_type=password' \\\n--data-urlencode 'client_id=\u003cclient-id\u003e' \\\n--data-urlencode 'username=\u003cusername\u003e' \\\n--data-urlencode 'password=\u003cpassword\u003e'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froschaefer%2Fauteon-saas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froschaefer%2Fauteon-saas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froschaefer%2Fauteon-saas/lists"}