School Clubs Management System¶
Welcome to the comprehensive documentation for the School Clubs Management System.
Overview¶
The School Clubs Management System is a Flask-based web application designed to help educational institutions manage student clubs, memberships, events, and posts efficiently. It provides role-based access control for students, club presidents, and administrators.
Key Features¶
- User Management
- User authentication with role-based access (students, club presidents, admins)
- Club Management
- Create, browse, and manage student clubs with verification system
- Event Management
- Post events, announcements, and gallery posts within clubs
- Membership System
- Join clubs, manage applications, and assign presidents
- Admin Panel
- Comprehensive Flask-Admin interface for system administration
Quick Start¶
-
Installation
Get started with local development setup
-
Configuration
Configure the application for your environment
-
Development
Understand the architecture and codebase
-
Deployment
Deploy using Docker and containers
Technology Stack¶
| Component | Technology |
|---|---|
| Backend Framework | Flask 3.x |
| Database | SQLite with SQLAlchemy ORM |
| Frontend | Bootstrap 5.3 + Turbo Flask |
| Authentication | Flask-Login |
| Admin Panel | Flask-Admin |
| Deployment | Docker + Docker Compose |
Project Structure¶
school_clubs/
├── __init__.py # Application factory
├── models.py # Database models
├── auth.py # Authentication routes
├── main.py # Main application routes
├── admin.py # Admin panel configuration
├── seed.py # Database seeding
├── templates/ # Jinja2 templates
└── static/ # CSS, JS, images
Getting Help¶
Need Help?
- Report an Issue
- Browse this documentation
- Contact the development team
License & Credits¶
Developed for SE1 course at University of Luxembourg.