This repo holds the code used to create a FastAPI backend for a fake cleaning marketplace called "Phresh".
Each part of the application is built and tested in small, manageable chunks - accompanied by written tutorials.
The technology stack used to create the backend of this application is as follows:
- Framework
- FastAPI and Starlette
- ASGI Server
- Uvicorn and Gunicorn
- Containerization
- Docker
- Database
- Postgres
- Alembic
- encode/databases
- Authentication
- Bcrypt
- Passlib
- JWT Tokens with Pyjwt
- Testing
- Pytest
- Development
- flake8
- black
- vscode
โ - Completed ๐ - In progress ๐ฑ - UI ๐ - Backend
- Part 1: Up and running with FastAPI and docker โ ๐
- Part 2: Configuring a postgresql db with your dockerized FastAPI app โ ๐
- Part 3: Hooking FastAPI endpoints up to a postgres database โ ๐
- Part 4: Testing FastAPI endpoints with docker and pytest โ ๐
- Part 5: Resource management with FastAPI โ ๐
- Part 6: Designing a robust user model in a FastAPI app โ ๐
- Part 7: User auth in FastAPI with jwt tokens โ ๐
- Part 8: Auth dependencies in FastAPI โ ๐
- Part 9: Setting up user profiles in FastAPI โ ๐
- Part 10: User owned resources in FastAPI โ ๐
- Part 11: Marketplace functionality in FastAPI โ ๐
- Part 12: Evaluations and SQL aggregations in FastAPI โ ๐
- Part 13: Phresh frontend - bootstrapping a React app โ ๐ฑ
- Part 14: Frontend navigation with React router โ ๐ฑ
- Part 15: Managing auth state with redux โ ๐ฑ
- Part 16: Client-side protected routes and user registration โ ๐ฑ
- Part 17: Consuming a FastAPI backend from a React frontend โ ๐๐ฑ
- Part 18: Edit user-owned cleaning resources with React and FastAPI โ ๐ฑ
- Part 19: Creating and viewing job offers with React and FastAPI โ ๐ฑ
- Part 20: Approving and rejecting job offers with React and FastAPI โ ๐๐ฑ
- Part 21: Serving a paginated activity feed from FastAPI โ ๐๐ฑ
- Part 22: Designing a feed page for a FastAPI app โ ๐ฑ
- Part 23: Refactoring our React UI into composable hooks โ ๐ฑ
- Part 24: Refactoring our UI into hooks - Part II โ ๐ฑ
- Part 25: Populating cleaning jobs with user offers in FastAPI โ ๐