Booking App is a robust and scalable application designed for managing reservations. Built with FastAPI, it leverages modern tools like Docker, Redis, Celery, and PostgreSQ.
- FastAPI for high-performance backend
- PostgreSQL for database storage
- Redis for caching and task queue management
- Celery for background task execution
- Flower for monitoring Celery tasks
- Prometheus & Grafana for metrics and monitoring
- Sentry for error tracking
- Versioning to maintain API stability
- Docker & Docker Compose for containerized deployment
- Backend: FastAPI
- Database: PostgreSQL
- Cache & Queue: Redis
- Task Management: Celery, Flower
- Monitoring & Logging: Prometheus, Grafana, Sentry
- Containerization: Docker, Docker Compose
Ensure you have the following installed:
- Docker & Docker Compose
- Clone the repository:
git clone https://github.com/venia-min/booking-app.git cd booking-app - Create an
.envfile from the sample and configure the required environment variables:cp .env-sample .env
- Start the application using Docker Compose:
docker-compose up --build
- The API documentation is available at
http://localhost:8000/docs. - Monitor background tasks via Flower at
http://localhost:5555. - Check metrics on Prometheus at
http://localhost:9090. - View monitoring dashboards in Grafana at
http://localhost:3000.