๐ Documentation
โจ Features
๐ Async API
Built with FastAPI and async/await patterns for high performance
๐ PostgreSQL
Production-grade database with asyncpg driver
๐ Search & Filter
Advanced search, filtering, and pagination support
๐ CRUD Operations
Complete Create, Read, Update, Delete functionality
๐ณ Docker Ready
Fully containerized with Docker Compose
๐งช Well Tested
Comprehensive test suite with 30+ tests
๐ Auto Docs
Interactive OpenAPI/Swagger documentation
๐จ Vue Frontend
Optional modern frontend with Vite
๐ Quick Start
Get started with Docker in 3 simple steps:
# Clone the repository
git clone https://github.com/KenMwaura1/Fast-Api-example.git
cd Fast-Api-example
# Start with Docker Compose
docker-compose up -d --build
# Access the API
# API: http://localhost:8002/notes
# Docs: http://localhost:8002/docs
๐ก API Endpoints
The API provides the following endpoints:
-
GET /notes- List all notes with optional filtering and pagination -
POST /notes- Create a new note -
GET /notes/{id}- Get a specific note -
PUT /notes/{id}- Update a note -
DELETE /notes/{id}- Delete a note -
GET /ping- Health check endpoint
๐ ๏ธ Tech Stack
- Framework: FastAPI 0.115.8
- Python: 3.13
- Database: PostgreSQL with asyncpg
- ORM: SQLAlchemy 1.4.50
- Server: Uvicorn with uvloop
- Testing: pytest 7.4.3
- Frontend: Vue 3 + Vite
๐ค Contributing
Contributions are welcome! Please check out the Contributing Guide for guidelines.
# Fork and clone the repo
git clone https://github.com/YOUR_USERNAME/Fast-Api-example.git
# Create a feature branch
git checkout -b feature/amazing-feature
# Make your changes and test
pytest src -v
# Commit and push
git commit -m "feat: add amazing feature"
git push origin feature/amazing-feature
๐ Resources
- Official Tutorial - Complete step-by-step guide
- FastAPI Documentation
- Docker Documentation
- PostgreSQL Documentation