## Synopsis: MUN Conference Management System
### **Project Title:**
MUN (Model United Nations) Conference Management System
---
### **Objective:**
The MUN Conference Management System is designed to assist organizers in
managing key components of a Model United Nations conference. It enables
streamlined handling of the General Speakers List (GSL), Moderated Caucus
sessions, and delegate point tracking, ensuring an efficient and organized
conference experience.
---
### **Features:**
1. **Timer Functionality:**
- Countdown timer to track speaking times.
- Includes options to start, pause, reset, and set custom durations.
- Alerts when the allotted time elapses.
2. **General Speakers List (GSL) Management:**
- Captures delegate details and awards points for speeches.
- Stores data in a MySQL database for later reference.
3. **Moderated Caucus Management:**
- Facilitates topic-specific debates with individual point tracking.
- Tracks delegate contributions during these sessions.
4. **Point Management:**
- Adds points to delegates for various session types.
- Summarizes individual and overall points for performance evaluation.
5. **Data Visualization:**
- Displays total points for individual delegates or all participants.
- Summaries are generated in an easy-to-read format.
6. **Data Reset:**
- Provides an option to erase all stored data with confirmation prompts to
prevent accidental deletions.
7. **Database Integration:**
- Uses MySQL to securely store and manage all conference-related data.
---
### **Functions and Their Usage:**
#### **1. `add_timer_to_window(window)`**
- Adds a countdown timer to the specified window.
- Provides start/resume, pause, and reset functionalities for managing
speaking times in GSL and Moderated Caucus sessions.
#### **2. `start_gsl()`**
- Opens a new window to start the General Speakers List (GSL) session.
- Collects the delegate name and points awarded using a simple form.
- Saves the collected data into the MySQL database.
- Calls `add_timer_to_window` to integrate a timer in the GSL window.
#### **3. `moderated_caucus()`**
- Opens a window for conducting a Moderated Caucus.
- Allows the user to input a topic, delegate name, and points awarded.
- Saves the data into the database under the "Moderated Caucus" session type.
- Includes a timer using `add_timer_to_window`.
#### **4. `add_points()`**
- Opens a window to add points to a specific delegate for any session type.
- Captures the delegate name, session type, and points awarded.
- Validates inputs and inserts the data into the database.
#### **5. `show_total_points()`**
- Opens a window to display the total points of a specific delegate.
- Prompts the user to enter a delegate name.
- Queries the database for the sum of points awarded to the entered delegate.
- Displays the total points in a message box.
#### **6. `show_all_points()`**
- Retrieves the total points for all delegates from the database.
- Displays a summary in a new window, showing each delegate's name and their
cumulative points.
#### **7. `erase_all_data()`**
- Provides functionality to delete all records from the database.
- Asks for confirmation to prevent accidental deletions.
- Clears all data if the user confirms.
#### **8. `submit_gsl()` (Nested in `start_gsl`)
- Handles form submissions for GSL.
- Validates input, saves the data to the database, and provides feedback to
the user.
#### **9. `submit_caucus()` (Nested in `moderated_caucus`)
- Handles form submissions for Moderated Caucus.
- Ensures that all fields are filled and stores the data in the database.
#### **10. `add()` (Nested in `add_points`)
- Processes the addition of points to a delegate.
- Validates user input and inserts data into the database.
#### **11. `display_points()` (Nested in `show_total_points`)
- Queries the database to calculate the total points for a specific delegate.
- Displays the result in a user-friendly message box.
---
### **Database Structure:**
- **Table Name:** `conference_data`
- **Columns:**
- `session_type`: Type of session (e.g., GSL, Moderated Caucus).
- `delegate_name`: Name of the delegate.
- `topic`: Specific topic discussed (applicable for Moderated Caucus).
- `points_awarded`: Points given to the delegate.
---
### **Technical Overview:**
- **Programming Language:** Python
- **GUI Library:** Tkinter
- **Database:** MySQL
---
### **Educational Value:**
This project introduces students to:
- Graphical User Interface (GUI) development with Tkinter.
- Real-time event handling using Python.
- Database integration and management using MySQL.
- Modular programming and user interaction design.
---
### **Applications:**
The MUN Conference Management System is ideal for use in:
- MUN conferences to efficiently track and manage delegate performance.
- Educational settings to teach programming and database integration through a
practical application.
---
### **Future Enhancements:**
- Introduce an Unmoderated Caucus session type.
- Add role-based access (e.g., Chairperson, Secretary).
- Generate visual analytics and export data in CSV/PDF formats.