MCC Event Manager is a web-based application designed to manage events, speakers, venues, and users. The platform supports creating, editing, and deleting events, managing schedules, assigning speakers and event hosts, and more. It is built using Flask and Bootstrap for a responsive, user-friendly experience and quick prototyping.
- User authentication and authorization with roles such as Admin, Event Host, and Speaker.
- CRUD operations for managing events, speakers, and venues.
- Dynamic scheduling and assignment of speakers to events.
- Venue management for associating events with specific locations.
- Responsive design using Bootstrap.
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Database: SQLite (can be configured for PostgreSQL or MySQL)
- Version Control: Git
Ensure you have the following installed on your system:
- Python 3.7 or later
- Git
-
Clone the repository:
git clone https://github.com/Lucky-luke36/BTM495.git cd BTM495 -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt (currently not required)
-
Run the application:
python run.py
The application will be accessible at
http://127.0.0.1:5000.
- Access the application: Open
http://127.0.0.1:5000in your web browser. - Login: Use username "Kevin" and "password1" to log in and access the manager features.
Or bypass login by navigating directly to
http://127.0.0.1:5000/Manager(This will start a session as Guest) - Manage Events: Create, update, or delete events using the event management section.
- Add Speakers and Event: Add speakers and events hosts to manage events.
BTM495/
├── app/ # Core application folder
│ ├── __init__.py # App factory and extensions initialization
│ ├── routes/ # Blueprints for routes
│ │ ├── login.py # Authentication routes
│ │ ├── manager.py # Admin dashboard routes
│ │ ├── events.py # Event management routes
│ │ ├── venues.py # Venue management routes
│ │ └── speakers.py # Speaker management routes
│ ├── models/ # SQLAlchemy database models
│ │ ├── admin.py
│ │ ├── events.py
│ │ ├── venues.py
│ │ └── speakers.py
│ ├── templates/ # HTML templates
│ ├── static/ # Static assets (CSS, JS, images)
│ └── extensions.py # Extensions like SQLAlchemy initialization
├── crm.db # Local Database
├── config.py # App configuration
├── run.py # Application entry point
├── requirements.txt # Dependencies list
└── README.md # Project documentation
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Commit your changes and push to the branch:
git add .
git commit -m "commit details"
git push origin feature/your-feature-name
- Submit a Pull Request.