Files
sasa-membership/INSTRUCTIONS.md
James Pattinson 051bd05149 Bounce management
2025-11-10 16:57:29 +00:00

6.2 KiB

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
  • Asynchronous Batch Processing: Implement automated renewal reminder system using scheduled batch jobs
    • Create containerized renewal reminder script that runs daily
    • Query memberships expiring within configurable timeframe (e.g., 30 days)
    • Send personalized renewal reminder emails using existing email templates
    • Add batch job scheduling with cron or similar scheduler
    • Include logging and monitoring for batch job execution
    • Extend pattern for other automated tasks (payment reminders, membership expiration processing)

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