Fully fledged todo application using Strawberry GraphQL, FastAPI, Relay and React
project-demo.mp4
Backend stack
- Python
- FastAPI
- Uvicorn
- Strawberry GraphQL
- SQLAlchemy
- Asyncpg
- Alembic
- Result
- AioInject
- Structlog
- Pytest
Frontend stack
- Dependency Injection in resolvers
- Usage of dataloaders to resolve nodes
- Relay spec compliant GraphQL server
- Connection handling, including inserts, updates and deletions
- Usage of Relay Client and fragments
- Cursor paginated connections
- End to end GraphQL code generation
- Fully tested GraphQL server
- User facing errors modelled within the schema
- setup docker compose
docker compose up
- install server dependencies
cd server
pdm install
- setup database migrations
pdm run migrate
- start the server
pdm run dev
- install client dependencies
cd client
npm install
- start the client
npm run dev
cd server
pdm run generate-schema
cd client
npm run relay --watch