# Quick Start Guide ## Starting the System ```bash # Start all services docker-compose up -d # Watch the logs until services are ready docker-compose logs -f ``` Wait until you see "Application startup complete", then press Ctrl+C. **Access the API**: - API: http://localhost:8000 - Docs: http://localhost:8000/docs ## Testing the API ### 1. Register a new user ```bash curl -X POST "http://localhost:8000/api/v1/auth/register" \ -H "Content-Type: application/json" \ -d '{ "email": "test@example.com", "password": "testpass123", "first_name": "Test", "last_name": "User" }' ``` ### 2. Login ```bash curl -X POST "http://localhost:8000/api/v1/auth/login-json" \ -H "Content-Type: application/json" \ -d '{ "email": "test@example.com", "password": "testpass123" }' ``` Save the `access_token` from the response. ### 3. Get your profile ```bash curl -X GET "http://localhost:8000/api/v1/users/me" \ -H "Authorization: Bearer YOUR_TOKEN_HERE" ``` ### 4. List membership tiers ```bash curl -X GET "http://localhost:8000/api/v1/tiers/" ``` ## Docker Compose Commands ```bash # Start services docker-compose up -d # Stop services docker-compose down # View logs (all services) docker-compose logs -f # View logs (specific service) docker-compose logs -f backend docker-compose logs -f mysql # Restart services docker-compose restart # Rebuild after code changes docker-compose up -d --build # Check status docker-compose ps # Access MySQL CLI docker exec -it membership_mysql mysql -u membership_user -pSecureMembershipPass2024! membership_db # Create database backup docker exec membership_mysql mysqldump -u membership_user -pSecureMembershipPass2024! membership_db > backup_$(date +%Y%m%d_%H%M%S).sql ``` ## Default Admin Access - **Email**: admin@swanseaairport.org - **Password**: admin123 ⚠️ Change this password immediately! ## Common Tasks ### Create a membership tier (admin) 1. Login as admin 2. Use the token in the Authorization header 3. POST to `/api/v1/tiers/` ### Record a manual payment (admin) 1. Login as admin 2. POST to `/api/v1/payments/manual-payment` ### View all users (admin) 1. Login as admin 2. GET `/api/v1/users/` ## Troubleshooting ### Check service status ```bash docker-compose ps ``` ### View all logs ```bash docker-compose logs -f ``` ### View backend logs only ```bash docker-compose logs -f backend ``` ### View MySQL logs only ```bash docker-compose logs -f mysql ``` ### Restart everything ```bash docker-compose restart ``` ### Clean start (removes all data) ```bash docker-compose down -v docker-compose up -d ``` ## Next Steps 1. Update `.env` with your Square and SMTP2GO credentials 2. Change the default admin password 3. Create additional admin users 4. Configure membership tiers as needed 5. Test payment processing 6. Customize email templates (coming soon)