A collection of experimental backend projects built with FastAPI for learning and practice purposes. Each project demonstrates different concepts, patterns, and real-world implementations.
This repository contains various backend projects developed using FastAPI framework. Each project is self-contained and focuses on specific backend concepts, from basic CRUD operations to advanced microservices architecture.
Purpose:
- Practice and improve FastAPI skills
- Experiment with different backend patterns
- Build production-ready API structures
- Document learning progress and implementations
backend-fastapi-projects/
│
├── project-01-basic-api/
│
├── project-02-auth-system/
│
├── project-03-ecommerce-api/
│
└── ...
Browse the repository folders to explore individual projects. Each project has its own README with specific setup instructions and implementation details.
- FastAPI - Modern Python web framework
- Pydantic - Data validation and serialization
- SQLAlchemy - ORM for database operations
- Alembic - Database migrations
- MySql - Primary relational database
- Redis - Caching and session storage
- JWT - Token-based authentication
- OAuth2 - Social login integration
- Bcrypt - Password hashing
- Pytest - Testing framework
- Coverage.py - Code coverage
- Black - Code formatting
- Flake8 - Linting
- Docker - Containerization
- Docker Compose - Multi-container orchestration
- Nginx - Reverse proxy
- GitHub Actions - CI/CD
- Python 3.8 or higher
- pip or Poetry for package management
- PostgreSQL or other database (project-dependent)
- Redis (optional, for certain projects)
- Clone the repository:
git clone https://github.com/ZeyadGabr1/backend-fastapi-projects.git
cd backend-fastapi-projects- Navigate to a specific project:
cd [project-folder-name]- Follow the project's README:
Each project has its own README with specific setup instructions, dependencies, and configuration details. Refer to the individual project documentation for:
- Installation steps
- Environment configuration
- Database setup
- Running the application
- API documentation links
- Follow PEP 8 guidelines
- Use type hints for all functions
- Write docstrings for modules, classes, and functions
- Format code with Black
- Lint with Flake8
- Create feature branches from
main - Write descriptive commit messages
- Submit pull requests for review
- Keep commits atomic and focused
- Write tests for all endpoints
- Aim for 80%+ code coverage
- Include integration tests
- Test error cases and edge cases
- FastAPI Official Documentation
- FastAPI Best Practices
- SQLAlchemy Documentation
- Pydantic Documentation
- Alembic Tutorial
Contributions, suggestions, and feedback are welcome! Feel free to:
- Report bugs or issues
- Suggest new project ideas
- Improve existing implementations
- Add documentation
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or discussions:
- Open an issue in this repository
- Email: [zeyad.ossama.dev@gmail.com]
Built with FastAPI and inspired by the amazing Python community.
Happy Coding!