# Qlockify Deployment This repository is the deployment layer only. Docker builds read from the local `./backend` and `./frontend` directories inside this repository. Those directories are expected to contain the backend and frontend application source before you build for deployment. ## Local structure The expected deployment layout is: ```text qlockify-deployment/ backend/ frontend/ nginx/ postgres/ docker-compose.yml ``` ## Deployment flow 1. Put your application source into: - `./backend` - `./frontend` 2. Configure deployment env files: - `./.env` - `./backend/.env` - `./frontend/.env` 3. From `qlockify-deployment`, build and start the stack: ```powershell docker compose up --build ``` The backend container runs database migrations and `collectstatic` on startup, then serves Django with Gunicorn using `config.wsgi:application`. ## SSE Notifications Notifications now use Server-Sent Events at `/api/notifications/stream/`. - Nginx disables buffering and cacheing for the SSE endpoint. - The current Gunicorn setup can serve SSE for MVP traffic, but each live stream consumes a worker while connected. - If notification concurrency grows, move the SSE endpoint to an async worker class or a dedicated ASGI process.