Files
sasa-membership/QUICKSTART.md
T
James Pattinson 74a4e3ede8 Container refactoring
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 09:43:02 +00:00

147 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:8050/api/v1
- Docs: http://localhost:8050/docs
Set `APP_PORT` in `.env` / `.env.example` to change `8050`.
For Square payment form testing, use HTTPS at `https://localhost:8443`.
Set `APP_TLS_PORT` in `.env` / `.env.example` to change `8443`.
TLS certs are auto-generated by the gateway container on first start.
## Testing the API
### 1. Register a new user
```bash
curl -X POST "http://localhost:8050/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:8050/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:8050/api/v1/users/me" \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
```
### 4. List membership tiers
```bash
curl -X GET "http://localhost:8050/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
# Restart services
docker compose restart
# Rebuild after code changes
docker compose up -d --build
# Check status
docker compose ps
# Tail gateway logs
docker compose logs -f gateway
```
## 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
```
### 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)