{"id":15774854,"url":"https://github.com/prashant-shahi/referral-app","last_synced_at":"2026-01-19T08:02:20.478Z","repository":{"id":105891127,"uuid":"190887029","full_name":"prashant-shahi/referral-app","owner":"prashant-shahi","description":"Referral app using GraphQL server written in node(express) and REST API server python(flask)","archived":false,"fork":false,"pushed_at":"2023-05-01T20:57:34.000Z","size":374,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-04T16:41:25.813Z","etag":null,"topics":["dgraph","express-js","flask","graphql","graphql-server","nodejs","python3","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prashant-shahi.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2019-06-08T12:47:11.000Z","updated_at":"2020-04-08T05:49:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"9b12b39e-5216-49e2-a30f-cb08860f6a16","html_url":"https://github.com/prashant-shahi/referral-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prashant-shahi/referral-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashant-shahi%2Freferral-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashant-shahi%2Freferral-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashant-shahi%2Freferral-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashant-shahi%2Freferral-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prashant-shahi","download_url":"https://codeload.github.com/prashant-shahi/referral-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashant-shahi%2Freferral-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28563231,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["dgraph","express-js","flask","graphql","graphql-server","nodejs","python3","rest-api"],"created_at":"2024-10-04T16:40:54.628Z","updated_at":"2026-01-19T08:02:20.462Z","avatar_url":"https://github.com/prashant-shahi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Referral App\nThis project is an application with a **GraphQL Server**(Node/Express) which provides *mutation* and *query* functions that calls **REST API Server**(Python/Flask) which fetches data stored in the **Dgraph** Graph Database.\n\n### GraphQL Server\nGraphQL Server is a Node.js application which is mainly consists of `express` and `express-graphql` library packages. This server is used for the functions to define *mutations* and *queries*. These functions makes use of APIs provided by the REST API server with the function parameters often passed as payload. These functions also takes in a query consisting of various fields which makes it possible for clients to obtain only the request data.\n\n### REST API Server\nREST API Server is a Flask(Python) application which provides APIs for GraphQL Server. This server uses Dgraph Graph Database for storing data. These APIs performs CRUD Operations with Dgraph and return back data. Using GraphQL alongside with Dgraph makes it a lot easier for everyone, since the Schema remain very identical for GraphQL and Dgraph.\n\n## Quick start\nThere are multiple ways to get this project started. Easiest would be to use [Docker Compose](https://docs.docker.com/compose/). Follow the instructions below:\n```sh\ngit clone https://github.com/coolboi567/referral-app\n\ncd referral-app\n\ndocker-compose up -d\n```\n\nAlternatively, for skipping the image building time, you can use different docker-compose file which pulls in the built images of this project from [Docker Hub](https://hub.docker.com/u/coolboi567).\n```\ndocker-compose -f docker-compose-no-build.yaml up -d\n```\n\nNow, load the schema and sample data into Dgraph using the API end point created for the same.\n```sh\ncurl -XGET http://localhost:5000/setup\n```\n\nGo to `http://localhost:4000/graphql` to access the GraphiQL\n```\nopen http://localhost:4000/graphql\n```\n\nYou can also use Ratel(Dgraph UI for mutation/query/schema alteration) available at `http://localhost:8000` to view and modify data/schema in Dgraph.\n\n\n## Screenshots\nQuery and Result in GraphiQL:\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://i.imgur.com/r6goVDa.jpg\" width=\"45%\"\u003e\n  \u003cimg src=\"https://i.imgur.com/RmdjkAy.jpg\" width=\"45%\"\u003e\n\u003c/p\u003e\n\nQuery and Result in Ratel(Dgraph):\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://i.imgur.com/iSqDfKx.jpg\"\u003e\n\u003c/p\u003e\n\u003cimg src=\"https://i.imgur.com/KFACeId.jpg\"\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashant-shahi%2Freferral-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprashant-shahi%2Freferral-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashant-shahi%2Freferral-app/lists"}