First commit
This commit is contained in:
148
INSTRUCTIONS.md
Normal file
148
INSTRUCTIONS.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Swansea Airport Stakeholders' Alliance Membership Management System
|
||||
|
||||
## Project Overview
|
||||
|
||||
This project aims to develop a comprehensive membership management system for the Swansea Airport Stakeholders' Alliance. The system will handle member registration, payment processing, membership tracking, and administrative functions for a medium-sized alliance.
|
||||
|
||||
## Core Features
|
||||
|
||||
### Public Member Features
|
||||
- **Self-Service Registration**: Members can sign up online and select their membership tier
|
||||
- **Payment Processing**: Integration with Square payment system for secure online payments, and a dummy payment system for initial testing
|
||||
- **Membership Portal**: Secure login to view membership status, payment history, and upcoming meetings
|
||||
- **Renewal Reminders**: Automated email notifications for membership renewal deadlines
|
||||
- **Event Management**: View upcoming events and RSVP to participate
|
||||
- **Volunteering**: View assigned volunteer roles, schedule availability for roles, and access certificates/training records
|
||||
|
||||
### Administrative Features
|
||||
- **Member Database Management**: Query and modify member records
|
||||
- **Manual Payment Entry**: Record cash payments to activate memberships
|
||||
- **Membership Tier Management**: Configure different membership levels and associated fees
|
||||
- **Meeting Management**: Post notices and updates about upcoming alliance meetings
|
||||
- **Reporting**: Generate reports on membership statistics and payment status
|
||||
- **Files**: A repositry for files which members can access based on their tier - such as meeting minutes and manuals. Admins can upload files to this area.
|
||||
- **Event Management**: Create, edit, and manage events, track RSVPs and attendance
|
||||
- **Volunteering**: Assign configurable volunteer roles to members (e.g., Fire, Radio, General), manage volunteer schedules, and record certificates/training. Note: A member may not necessarily be a volunteer, but all volunteers are members.
|
||||
|
||||
|
||||
## Technical Stack
|
||||
|
||||
- **Backend**: Python with FastAPI/Uvicorn for high-performance async web framework
|
||||
- **Database**: MySQL for reliable data storage and complex queries
|
||||
- **Authentication**: JWT-based authentication system
|
||||
- **Payment Integration**: Square API for payment processing
|
||||
- **Email Service**: SMTP2GO API for automated reminders and notifications
|
||||
- **Frontend**: Modern web interface (to be determined - potentially React/Vue.js)
|
||||
|
||||
## Membership Tiers
|
||||
|
||||
The system should support configurable membership tiers, including:
|
||||
- Basic membership (Personal) £5 / year
|
||||
- Group membership (Aircraft Owners) £25 / year
|
||||
- Corporate membership (£100 / year)
|
||||
- Other custom tiers as needed
|
||||
|
||||
Each tier will have associated annual fees and benefits.
|
||||
|
||||
## Payment System
|
||||
|
||||
- Primary payment method: Square integration for online payments
|
||||
- Support for manual payment entry (cash/check payments)
|
||||
- Annual fee collection with automatic renewal reminders
|
||||
- Payment history tracking
|
||||
|
||||
## Security Requirements
|
||||
|
||||
- Secure user authentication and authorization
|
||||
- Data encryption for sensitive information
|
||||
- Role-based access control (members vs administrators)
|
||||
- GDPR compliance for data protection
|
||||
|
||||
## Email Integration
|
||||
|
||||
- Welcome emails for new members
|
||||
- Payment confirmation emails
|
||||
- Renewal reminder emails (configurable timing)
|
||||
- Meeting notification emails
|
||||
- Administrative notification emails
|
||||
|
||||
## Database Schema (High-Level)
|
||||
|
||||
### Core Tables
|
||||
- `users`: Member information and authentication
|
||||
- `memberships`: Membership records with tier and status
|
||||
- `payments`: Payment transactions
|
||||
- `tiers`: Membership tier definitions
|
||||
- `events`: Event information and details
|
||||
- `event_rsvps`: Event registration and attendance tracking
|
||||
- `volunteer_roles`: Configurable volunteer role definitions (e.g., Fire, Radio, General)
|
||||
- `volunteer_assignments`: Member-to-role assignments
|
||||
- `volunteer_schedules`: Volunteer shift scheduling and availability
|
||||
- `certificates`: Training certificates and qualifications
|
||||
- `notifications`: Email notification logs
|
||||
|
||||
## Development Phases
|
||||
|
||||
1. **Phase 1**: Core API development (authentication, user management)
|
||||
2. **Phase 2**: Payment integration and membership management
|
||||
3. **Phase 3**: Admin interface development
|
||||
4. **Phase 4**: Member portal, email system, event management, and volunteering features
|
||||
5. **Phase 5**: Testing, deployment, and documentation
|
||||
|
||||
## Deployment Considerations
|
||||
|
||||
- Containerized deployment using Docker
|
||||
- Scalable architecture for medium-sized alliance
|
||||
- Backup and recovery procedures
|
||||
- Monitoring and logging
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
- Mobile app development
|
||||
- Advanced reporting and analytics
|
||||
- Integration with other alliance systems
|
||||
- Multi-language support
|
||||
|
||||
## Project Requirements
|
||||
|
||||
### Functional Requirements
|
||||
- User registration and authentication
|
||||
- Membership tier selection and management
|
||||
- Payment processing and tracking
|
||||
- Email notification system
|
||||
- Administrative dashboard
|
||||
- Member self-service portal
|
||||
- Event management and RSVP system
|
||||
- Volunteer role assignment, scheduling, and certificate/training management
|
||||
|
||||
### Non-Functional Requirements
|
||||
- High availability and performance
|
||||
- Data security and privacy
|
||||
- Scalable architecture
|
||||
- User-friendly interface
|
||||
- Comprehensive documentation
|
||||
|
||||
## Team Considerations
|
||||
|
||||
- Backend developers (Python/FastAPI)
|
||||
- Frontend developers (if separate frontend)
|
||||
- Database administrators
|
||||
- DevOps engineers
|
||||
- QA testers
|
||||
- Business analysts for requirements refinement
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
- Payment system integration complexity
|
||||
- Email deliverability issues
|
||||
- Data migration from existing systems
|
||||
- User adoption and training
|
||||
- Regulatory compliance requirements
|
||||
|
||||
## Success Metrics
|
||||
|
||||
- Successful member registration rate
|
||||
- Payment processing success rate
|
||||
- User engagement with portal
|
||||
- Administrative efficiency improvements
|
||||
- System uptime and performance
|
||||
Reference in New Issue
Block a user