{"id":14976043,"url":"https://github.com/rscarrera27/flask-graphql-large-application-example","last_synced_at":"2025-10-27T17:30:36.703Z","repository":{"id":39847661,"uuid":"127527955","full_name":"rscarrera27/Flask-GraphQL-Large-Application-Example","owner":"rscarrera27","description":"✨How to structure GraphQL server with flask+graphene✨","archived":false,"fork":false,"pushed_at":"2023-05-01T20:18:50.000Z","size":107,"stargazers_count":56,"open_issues_count":3,"forks_count":11,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-11T13:04:08.945Z","etag":null,"topics":["flask","flask-graphql","graphene","graphql","graphql-api","graphql-mongoengine","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rscarrera27.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-31T11:56:17.000Z","updated_at":"2024-09-09T14:25:48.000Z","dependencies_parsed_at":"2023-07-12T17:17:12.897Z","dependency_job_id":null,"html_url":"https://github.com/rscarrera27/Flask-GraphQL-Large-Application-Example","commit_stats":null,"previous_names":["sierrasevn/flask-graphql-large-application-example","rscarrera27/flask-graphql-large-application-example"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rscarrera27%2FFlask-GraphQL-Large-Application-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rscarrera27%2FFlask-GraphQL-Large-Application-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rscarrera27%2FFlask-GraphQL-Large-Application-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rscarrera27%2FFlask-GraphQL-Large-Application-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rscarrera27","download_url":"https://codeload.github.com/rscarrera27/Flask-GraphQL-Large-Application-Example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219860931,"owners_count":16556009,"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":["flask","flask-graphql","graphene","graphql","graphql-api","graphql-mongoengine","tutorial"],"created_at":"2024-09-24T13:53:12.422Z","updated_at":"2025-10-27T17:30:36.395Z","avatar_url":"https://github.com/rscarrera27.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  ✨✨Flask-GraphQL-Large-Application-Example✨✨\n\n## Summary\nThis is how I structure my GraphQL server with Flask + Graphene\n\n## About\nThis is basic example of large Flask+Graphene server. \nall essential use examples have been covered and advanced use examples will be added step by step\n\n- Features\n    - [x] Query example\n    - [x] Mutauion example\n    - [x] Union example\n    - [x] Field example\n    - [ ] Relay example\n    - [ ] InputObjectType example\n    - [ ] Dataloader example\n    - [ ] Middleware example\n    - [ ] Interfaces example\n    - [ ] AbstractTypes example\n    - [x] Basic authentication example\n    - [x] MongoDB example\n    - [ ] MySQL(SQLAlchemy, PeeWee) example\n\n    \n## Project dependencies\n- GraphQL framework\n    - Graphene\n- HTTP serving\n    - Flask-GraphQL\n    - Flask\n- Database ORM\n    - Mongoengine\n- Authentication\n    - [Flask-GraphQL-Auth](https://flask-graphql-auth.readthedocs.io/en/latest/) (JWT based authentication)\n\n## How to test this example?\nThis repository implemented minitwit to cover examples. Use the following command to run the server\n\n```sh\npip install -r requirements.txt\npython server.py\n```\nGraphiQL enabled by default.\n\n## Diagrams\nnot covered\n\n## Core components\n\n### /Server/app/schema\nGraphQL 서버를 구성하는 필드, 쿼리, 뮤테이션을 담고 있습니다.\n\nThis directory contains fields, queries, and interactions that make up the GraphQL schema\n\n#### /Server/app/schema/__init__.py\nGraphQL 스키마를 구성하고 구성된 스키마를 Flask 인스턴스에 할당합니다.\n\nStructure GraphQL schema and add schema with flask.add_url_rule\n\n#### /Server/app/schema/fields.py\nGraphQL 쿼리와 뮤테이션에서 사용하는 필드들\n\nThis file contains the fields that make up the GraphQL schema.\n\n#### /Server/app/graphql_view/unions.py\nGraphQL 쿼리와 뮤테이션에서 사용하는 유니온들\n\nThis file contains the unions that make up the GraphQL schema.\n\n#### /Server/app/schema/queries\n이 디렉터리는 쿼리와 쿼리 resolver들로 구성됩니다. 유연한 구조를 위해 resolver들을 독립적인 파일에 담습니다\n\nThis directory consists root query class and query resolvers. Place the resolver in an independent file for flexible structure\n\n#### /Server/app/schema/mutations\n이 디렉터리는 뮤테이션들로 구성됩니다. 유연한 구조를 위해 뮤테이션들을 독립적인 파일에 담습니다\n\nThis directory consists mutations. Place the mutation in an independent file for flexible structure\n\n## I refered\n### People\n[Syrus Akbary](https://twitter.com/syrusakbary)\n\n### Repository\n[Flask-Large-Application-Example](https://github.com/JoMingyu/Flask-Large-Application-Example)\n\n### Website\n[Designing GraphQL mutations](https://dev-blog.apollodata.com/designing-graphql-mutations-e09de826ed97)  \n[Authorization in GraphQL](https://dev-blog.apollodata.com/authorization-in-graphql-452b1c402a9)  \n[GraphQL ansd authentication](https://medium.com/the-graphqlhub/graphql-and-authentication-b73aed34bbeb)\n\n### Library Docs\n[Graphene](https://medium.com/the-graphqlhub/graphql-and-authentication-b73aed34bbeb)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frscarrera27%2Fflask-graphql-large-application-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frscarrera27%2Fflask-graphql-large-application-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frscarrera27%2Fflask-graphql-large-application-example/lists"}