First commit
This commit is contained in:
116
PROJECT_STRUCTURE.md
Normal file
116
PROJECT_STRUCTURE.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Project Structure
|
||||
|
||||
```
|
||||
membership/
|
||||
├── .env # Environment configuration (ready to use)
|
||||
├── .env.example # Template for environment variables
|
||||
├── .gitignore # Git ignore rules
|
||||
├── docker-compose.yml # Docker services configuration
|
||||
├── INSTRUCTIONS.md # Original project requirements
|
||||
├── README.md # Complete documentation
|
||||
├── QUICKSTART.md # Quick start guide
|
||||
│
|
||||
├── backend/ # FastAPI application
|
||||
│ ├── Dockerfile # Backend container configuration
|
||||
│ ├── requirements.txt # Python dependencies
|
||||
│ └── app/
|
||||
│ ├── __init__.py
|
||||
│ ├── main.py # Application entry point
|
||||
│ │
|
||||
│ ├── api/ # API endpoints
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── dependencies.py # Auth dependencies
|
||||
│ │ └── v1/
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── auth.py # Registration, login
|
||||
│ │ ├── users.py # User management
|
||||
│ │ ├── tiers.py # Membership tiers
|
||||
│ │ ├── memberships.py # Membership management
|
||||
│ │ └── payments.py # Payment processing
|
||||
│ │
|
||||
│ ├── core/ # Core functionality
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── config.py # Configuration settings
|
||||
│ │ ├── database.py # Database connection
|
||||
│ │ └── security.py # Auth & password hashing
|
||||
│ │
|
||||
│ ├── models/ # Database models
|
||||
│ │ ├── __init__.py
|
||||
│ │ └── models.py # SQLAlchemy models
|
||||
│ │
|
||||
│ ├── schemas/ # Pydantic schemas
|
||||
│ │ ├── __init__.py
|
||||
│ │ └── schemas.py # Request/response schemas
|
||||
│ │
|
||||
│ ├── services/ # Business logic (placeholder)
|
||||
│ └── utils/ # Utilities (placeholder)
|
||||
│
|
||||
├── database/ # Database initialization
|
||||
│ └── init.sql # Default data & admin user
|
||||
│
|
||||
└── frontend/ # Frontend (placeholder for future)
|
||||
```
|
||||
|
||||
## Key Files
|
||||
|
||||
### Configuration
|
||||
- **`.env`** - Environment variables (database, API keys, etc.)
|
||||
- **`docker-compose.yml`** - Services: MySQL + FastAPI backend
|
||||
|
||||
### Backend Application
|
||||
- **`backend/app/main.py`** - FastAPI app initialization, CORS, routes
|
||||
- **`backend/app/core/config.py`** - Settings management
|
||||
- **`backend/app/core/security.py`** - JWT tokens, password hashing
|
||||
- **`backend/app/models/models.py`** - Database tables (User, Membership, Payment, etc.)
|
||||
- **`backend/app/schemas/schemas.py`** - API request/response models
|
||||
|
||||
### API Endpoints (v1)
|
||||
- **`auth.py`** - Register, login
|
||||
- **`users.py`** - User profile, admin user management
|
||||
- **`tiers.py`** - Membership tier CRUD
|
||||
- **`memberships.py`** - Membership management
|
||||
- **`payments.py`** - Payment processing & history
|
||||
|
||||
## Database Models
|
||||
|
||||
Fully implemented:
|
||||
- **User** - Authentication, profile, roles (member/admin/super_admin)
|
||||
- **MembershipTier** - Configurable tiers with fees and benefits
|
||||
- **Membership** - User memberships with status tracking
|
||||
- **Payment** - Payment records with multiple methods
|
||||
- **Event** - Event management (model ready, endpoints TODO)
|
||||
- **EventRSVP** - Event registration (model ready, endpoints TODO)
|
||||
- **VolunteerRole** - Volunteer roles (model ready, endpoints TODO)
|
||||
- **VolunteerAssignment** - Role assignments (model ready, endpoints TODO)
|
||||
- **VolunteerSchedule** - Shift scheduling (model ready, endpoints TODO)
|
||||
- **Certificate** - Training certificates (model ready, endpoints TODO)
|
||||
- **File** - File repository (model ready, endpoints TODO)
|
||||
- **Notification** - Email tracking (model ready, endpoints TODO)
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Start everything
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
|
||||
# Access API docs
|
||||
# http://localhost:8000/docs
|
||||
```
|
||||
|
||||
## Default Credentials
|
||||
|
||||
**Admin**: admin@swanseaairport.org / admin123
|
||||
|
||||
**Database**: membership_user / SecureMembershipPass2024!
|
||||
|
||||
## What's Next
|
||||
|
||||
1. Test the API endpoints
|
||||
2. Add Square payment integration
|
||||
3. Implement email notifications
|
||||
4. Create event management endpoints
|
||||
5. Add volunteer management endpoints
|
||||
6. Build frontend interface
|
||||
Reference in New Issue
Block a user