https://github.com/venia-min/booking-app
https://github.com/venia-min/booking-app
celery docker docker-compose fastapi flower grafana post promethe python redis sentry versioning
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/venia-min/booking-app
- Owner: Venia-min
- Created: 2025-02-04T21:55:42.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-02-13T18:50:40.000Z (8 months ago)
- Last Synced: 2025-02-13T19:32:52.508Z (8 months ago)
- Topics: celery, docker, docker-compose, fastapi, flower, grafana, post, promethe, python, redis, sentry, versioning
- Language: Python
- Homepage:
- Size: 57.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Booking App
## Overview
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.## Features
- **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## Tech Stack
- **Backend:** FastAPI
- **Database:** PostgreSQL
- **Cache & Queue:** Redis
- **Task Management:** Celery, Flower
- **Monitoring & Logging:** Prometheus, Grafana, Sentry
- **Containerization:** Docker, Docker Compose## Installation
### Prerequisites
Ensure you have the following installed:
- Docker & Docker Compose### Setup
1. Clone the repository:
```bash
git clone https://github.com/venia-min/booking-app.git
cd booking-app
```
2. Create an `.env` file from the sample and configure the required environment variables:
```bash
cp .env-sample .env
```
4. Start the application using Docker Compose:
```bash
docker-compose up --build
```## Usage
- 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`.