# Docker Run Guide 🐳 Here is a quick, point-wise guide on how the SMTP-enabled Docker container stack works and how the components connect together. ## 1. Access Links (Click to Open) * 🖥️ **React Frontend**: [http://localhost:5173](http://localhost:5173) * ⚙️ **FastAPI Backend (Swagger Docs)**: [http://localhost:8000/docs](http://localhost:8000/docs) * 🏠 **Backend API Status**: [http://localhost:8000](http://localhost:8000) --- ## 2. How the Components Connect * **Backend (`./backend`)**: * Runs on port `8000`. * Automatically loads your SMTP email settings (email address and Google App Password token) from the `./backend/.env` file. * Captures registration details and emails a 6-digit OTP code to the registered email address. * **Frontend (`./frontend`)**: * Runs on port `5173`. * Redirects users to the `/verify-email` screen after registration to enter their OTP. * Connects directly to the backend at `http://localhost:8000` to process validations. * **Docker Network & Persistence**: * Docker Compose runs both components in a single network. * The SQLite database is saved on your computer at `./backend/users.db` so accounts are kept safe. --- ## 3. How to Start and Stop To run the entire project, execute this command in your terminal: ```bash docker compose up --build ``` To stop the project, press `CTRL + C` or run: ```bash docker compose down ```