This example shows you how to create a Reddit API clone using GraphQL. The goal of this example is not to re-create the entire reddit API, but to produce a simpler version that is easier to understand, and implements most of the features that Strawberry gives us.
- Strawberry GraphQL
- Starlette web framework
- Uvicorn ASGI server
- SQLAlchemy core/ mapper (asyncio)
- Alembic migrations
- PostgreSQL database server
- Marshmallow data validation
- Celery tasks (Redis store, RabbitMQ broker)
- Implements the Relay spec
- data modelling with relations
- Error modelling within the schema
- Authorization with the permissions API
- Batch loading with dataloaders
- modular codebase
You can use Docker Compose to run this example. Make sure you have it installed on your machine!
docker compose up
You can now explore the GraphQL API here: http://localhost/graphql