# 🚀 Quick Local Development Setup Get the photo sharing platform running locally in under 2 minutes! ## Prerequisites - Docker Desktop installed and running - Git - 4GB RAM available ## Quick Start ```bash # 1. Clone the repository git clone cd picpeak # 2. Start everything ./start-local.sh ``` That's it! 🎉 ## What You Get | Service | URL | Description | |---------|-----|-------------| | Frontend (Dev) | http://localhost:3002 | React app with hot reload | | Frontend (Prod) | http://localhost:3000 | Production build | | Backend API | http://localhost:3001 | Express API | | Mailhog | http://localhost:8025 | Email testing UI | ## Default Credentials - **Admin Login**: Check `ADMIN_CREDENTIALS.txt` after first setup - **Test Gallery**: - Create via Admin Panel - Set your own secure password ## Common Tasks ### View Logs ```bash docker-compose -f docker-compose.local.yml logs -f ``` ### Stop Everything ```bash ./stop-local.sh ``` ### Reset Database ```bash docker-compose -f docker-compose.local.yml exec backend npm run migrate ``` ### Add Test Photos 1. Create a gallery in the admin panel 2. Get the gallery slug (e.g., `wedding-smith-2024`) 3. Add photos to: `./storage/events/active/wedding-smith-2024/` 4. Photos appear automatically! ### Access Backend Shell ```bash docker-compose -f docker-compose.local.yml exec backend sh ``` ## Development Workflow 1. **Frontend Development** (Port 3002) - Hot reload enabled - Edit files in `./frontend/src` - Changes appear instantly 2. **Backend Development** (Port 3001) - Nodemon watches for changes - Edit files in `./backend/src` - Server restarts automatically 3. **Email Testing** - All emails go to Mailhog - View at http://localhost:8025 - No real emails sent! ## Troubleshooting ### Backend won't start ```bash # Check logs docker-compose -f docker-compose.local.yml logs backend # Rebuild docker-compose -f docker-compose.local.yml build backend ``` ### Frontend build issues ```bash # Clear cache and rebuild docker-compose -f docker-compose.local.yml exec frontend-dev npm run build ``` ### Port conflicts Edit `docker-compose.local.yml` and change the port mappings: - Backend: Change `3001:3000` to `XXXX:3000` - Frontend: Change `3002:5173` to `YYYY:5173` ### Reset everything ```bash # Stop and remove all data docker-compose -f docker-compose.local.yml down -v rm -rf data storage logs ./start-local.sh ``` ## Tips - 📧 Check Mailhog for all emails - 🔄 Frontend auto-refreshes on save - 📁 SQLite DB at `./data/photo_sharing.db` - 🖼️ Photos in `./storage/events/active/` - 📝 Logs in `./logs/` ## Next Steps 1. Create your first gallery via Admin Panel 2. Upload some test photos 3. Test the gallery with password 4. Check expiration warnings 5. View emails in Mailhog Happy coding! 🎨