A comprehensive Java Swing desktop application for managing college events, participant registrations, and event administration.
-
User Authentication
- Separate login for administrators and participants
- Secure password handling
-
Event Management
- Create, view, update, and delete events
- Track event details (name, description, date, location, capacity)
- View event registrations
-
Participant Registration
- Easy event registration for students
- View registered events
- Participant information management
-
Admin Dashboard
- Manage all events
- View and manage participant registrations
- Generate reports
- Frontend: Java Swing, AWT
- Backend: Java 11
- Database: MySQL
- Build Tool: Maven
- Dependency Management: Maven
- JDBC: MySQL Connector/J
- Java Development Kit (JDK) 11 or later
- MySQL Server 8.0 or later
- Maven 3.6.0 or later
- Git (optional, for version control)
git clone https://github.com/Sheldon1999/Event_Management.git
cd Event_Management
- Ensure MySQL server is running
- Create a new MySQL user (or use existing one):
CREATE USER 'superadmin'@'localhost' IDENTIFIED BY 'Super@1999'; GRANT ALL PRIVILEGES ON *.* TO 'superadmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
- Update database configuration in
src/main/resources/config.properties
mvn clean install
java -jar target/EventManagement-1.0-SNAPSHOT.jar
src/main/java/com/eventmanagement/
├── config/ # Application configuration
├── controllers/ # Application controllers
├── exceptions/ # Custom exceptions
├── models/ # Data models (Participant, Event, User)
├── repositories/ # Data access layer
│ └── impl/ # JDBC implementations
├── services/ # Business logic
└── ui/ # Swing UI components
Configure the application by editing src/main/resources/config.properties
:
# Database Configuration
db.url=jdbc:mysql://localhost:3306/event_management?useSSL=false&serverTimezone=UTC
db.username=superadmin
db.password=Super@1999
# Application Settings
app.name=College Event Management
app.version=1.0.0
-
Home Screen
- Choose between Admin Login or Student Registration
-
Admin Login
- Username: admin
- Password: admin123 (change in production)
- Manage events and view registrations
-
Student Registration
- Register for available events
- View registered events
- Update personal information
CREATE TABLE IF NOT EXISTS participants (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
department VARCHAR(50) NOT NULL,
semester INT NOT NULL,
event_id BIGINT NOT NULL,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (event_id) REFERENCES events(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS events (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
start_date_time DATETIME NOT NULL,
end_date_time DATETIME NOT NULL,
location VARCHAR(100) NOT NULL,
max_participants INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Figure 1: Application Home Page
Figure 3: Student Registration Form
Figure 4: Registration Confirmation Dialog
Figure 5: Operation Success Notification
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For any queries, please contact [email protected] or open an issue in the repository.