# COMPONENTS.md ## Project Components *This document tracks all specific components used in the project.* > **Rule:** Components are only added to this list once they have been actively included and utilized in the codebase. ### Backend Core - **FastAPI**: Main web framework for the API backend. - **Uvicorn**: ASGI web server implementation. - **SQLAlchemy**: SQL toolkit and Object-Relational Mapper (ORM). - **Alembic**: Database migration tool for SQLAlchemy. - **Psycopg2**: PostgreSQL database adapter for Python. - **caldav**: Library for CalDAV client functionality (Nextcloud sync). - **python-multipart**: Form data parsing for login page. - **python-dotenv**: Environment variable loading from .env files. ### Infrastructure - **Docker**: Containerization for app and database. - **PostgreSQL 16**: Primary database (Docker container with persistent volume). - **Caddy**: Reverse proxy with automatic HTTPS (Let's Encrypt). ### Frontend - **Vanilla HTML/CSS/JS**: No framework, clean and lightweight.