A comprehensive Event Management System with separate interfaces for organizers and attendees. The system allows both user types to create and manage events, handle registrations, and process tickets through a colorful and intuitive web interface.
-
User Authentication System
- Separate registration for organizers and attendees
- Secure login and password management
- User profile management
-
Event Management
- Create events with detailed information
- Manage event details, capacity, and pricing
- Upload event images
-
Ticket Management
- Register for events and receive tickets
- View and manage tickets
- Cancel registrations
-
Dashboard and Analytics
- Visualize event statistics
- Track attendance and registrations
- Monitor popular event categories
For first-time users, we've provided a comprehensive guide to set up the application using XAMPP. Please see the XAMPP Setup Guide for Beginners for detailed instructions.
- Python 3.11 or higher
- XAMPP (for beginners) or equivalent (MySQL, Apache)
- Modern web browser
- Start MySQL database service
- Create a database named 'event_management'
- Install Python dependencies:
pip install flask flask-login flask-sqlalchemy flask-wtf email-validator gunicorn mysql-connector-python werkzeug
- Configure the database connection in app.py
- Run the application:
python main.py
- Open your browser and navigate to http://localhost:5000
- Create an account by clicking 'Register'
- Choose your user type (Organizer or Attendee)
- Fill in your details and submit
- Login using your email and password
Only organizers have permission to create events:
- Click on 'Create Event' in the navigation bar
- Fill in the event details (title, description, date/time, location, etc.)
- Set capacity and pricing options
- Submit the form to create your event
- Go to 'My Events' to see all your created events
- Edit or delete events as needed
- View registration statistics
- Click on 'Explore Events' to browse all available events
- Use filters to find specific events
- Click on an event to view details
- Register for the event by clicking 'Get Tickets'
- Go to 'My Tickets' to view all your registered events
- See event details and ticket information
- Cancel tickets for events you can no longer attend
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Backend: Python, Flask
- Database: MySQL (via SQLAlchemy)
- Authentication: Flask-Login
- Forms: Flask-WTF
- Visualization: Chart.js
This project is licensed under the MIT License - see the LICENSE file for details.
- FontAwesome for icons
- Bootstrap for UI components
- Chart.js for data visualization