151 lines
2.8 KiB
Markdown
151 lines
2.8 KiB
Markdown
# 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)
|