Event Management System
(Java, Swing GUI, CSV Persistence)
Version: 1.1 | Date: August 22, 2025
Abstract
This report documents a desktop Event Management System built with Java Swing and CSV
persistence. It supports Venues, Events, Participants, and Bookings with capacity validation
and save/load functionality.
Table of Contents
1. Introduction
2. Objectives
3. Scope
4. Requirements
5. Design
6. Implementation
7. Testing
8. Deployment
9. Risks
10. Future Work
11. References
Appendices
1. Introduction
Overview of purpose and target users.
2. Objectives
- Provide a simple CRUD desktop app in Java.
- Demonstrate file I/O and GUI design.
- Ensure basic validation and persistence.
3. Scope
In scope: CRUD for core entities, CSV persistence. Out of scope: authentication, multi-user
concurrency.
4. Requirements
Functional: manage venues, events, participants, bookings, save/load.
Non-functional: usability, portability, maintainability.
5. Design
Layered architecture: UI (Swing) -> Model (POJOs) -> Storage (CSV DataStore).
6. Implementation
Packages: [Link], [Link], [Link]. Key classes: Event, Venue, Participant, Booking,
DataStore, MainFrame.
7. Testing
Test cases: add entities, booking within capacity, overbooking prevention, save/load
persistence.
8. Deployment
Build steps:
javac -d out $(find src -name "*.java")
mkdir -p data
java -cp out [Link]
9. Risks
- CSV concurrency and corruption. Mitigation: backups, consider DB for multi-user.
10. Future Work
- Add search/filter, DB backend, user roles, reports and charts.
11. References
Oracle Java Tutorials - Swing: [Link]
Oracle Java Tutorials - File I/O: [Link]
RFC 4180 - CSV Format: [Link]
Appendix A: Sample CSV formats
[Link]: id,title,date,venue,capacity,ticketPrice
[Link]: id,name,location
[Link]: id,name,email,phone
[Link]: id,eventId,participantId,quantity,total
Prepared by: ChatGPT. For cover personalization, provide your name and institute.