## Why The current backup tool uses a simple `requirements.txt` for dependency management and lacks containerization. This makes deployment inconsistent across environments and complicates dependency resolution. Converting to a proper `pyproject.toml` setup and adding Docker support will provide reproducible builds, standardized packaging, and one-command deployment for users. ## What Changes - **Convert backend to pyproject.toml**: Replace `requirements.txt` with a modern `pyproject.toml` including project metadata, dependencies, build system, and optional dev/test dependencies - **Add Dockerfile**: Multi-stage Docker build for the Python backend with proper layer caching - **Add docker-compose.yml**: Orchestrate backend + frontend services with volume mounts and environment configuration - **Add .dockerignore**: Optimize build context and exclude unnecessary files - **Update README**: Add Docker deployment instructions - **Frontend containerization (optional)**: Dockerfile for production frontend build served via nginx or integrated into backend static serving ## Capabilities ### New Capabilities - `docker-deployment`: Container-based deployment with Docker and docker-compose for consistent environments - `python-packaging`: Modern Python packaging with pyproject.toml, proper dependency groups, and build tooling ### Modified Capabilities - None (this is a build/deployment improvement, no spec-level behavior changes) ## Impact - **Build system**: Replaces `requirements.txt` with `pyproject.toml` (standard modern Python practice) - **Deployment**: New Docker-based deployment path alongside existing manual setup - **CI/CD**: Enables standardized container builds for CI pipelines - **Developer experience**: `docker compose up` to start full stack instead of manual venv + npm setup - **No API changes**: All existing endpoints and functionality remain unchanged