Skip to content

Architecture

The project uses a Layered Architecture with a light microservices approach:

  • FastAPI: Handles asynchronous HTTP requests, endpoints, and business logic.
  • PostgreSQL: Stores URLs and click metadata persistently.
  • Redis: Optional caching or analytics (ready for future enhancements).
  • Traefik: Reverse proxy for routing HTTP requests, provides a dashboard for monitoring.

All components are containerized using Docker, orchestrated with Docker Compose, ensuring easy deployment and reproducibility.

Architecture Diagram

pyurl-shortener