The Event Booking Application is a GUI-based software built using Python’s Tkinter for the user interface and SQLite for persistent data storage. This system facilitates user authentication, event booking, and role-based access for users and administrators. It is designed to streamline event registrations and provide a clear separation between user functionalities and admin privileges.
project-tCC04/
├── main.py # Entry point: Handles login and registration routing.
├── register.py # User registration window and logic.
├── user.py # User dashboard: Event booking and booking display.
├── admin.py # Admin dashboard: (Handles admin-specific functions.)
├── users.db # Database storing user credentials and details.
├── events.db # Database storing event bookings.
├── main.spec
├── payments.db
├── logo.png
├── app_icon.png
├── LICENSE.txt
├── utils.py
├── .gitignore
├── event/
└── __pycache__/ # Python cache files (auto-generated).
- Programming Language: Python 3.13
- GUI Framework: Tkinter, Customtkinter
- Database: SQLite3
- Registration: Users can register by providing their first name, last name, email, phone number, and password.
- Password Security: Passwords are securely hashed using SHA-256 before storage.
- Login System: Validates user credentials and redirects based on user roles.
- Role-Based Access:
- Admin: Accesses the admin dashboard when logging in with the predefined admin email.
- User: Accesses the user dashboard upon successful login.
- Event Booking Form: Users can book events by providing:
- Full Name
- Event Name
- Start Date
- End Date
- Location
- No. Of Guest
- Organizer
- Bookings Display: Booked events are presented in a table format with a "Payment" button for future payment integration.
- Data Persistence: Event bookings are saved in a separate
events.dbdatabase for efficient data management.
- View all user bookings.
- Manage user accounts and events.
- Potential future features: editing or deleting bookings, user analytics.
- User registration with form validations and password hashing.
- Login system with role-based access control.
- Event booking interface with data persistence.
- Automatic database table creation if missing.
- Registered users can log in and access the user dashboard.
- Admin login redirects to the admin dashboard.
- Event bookings display correctly in the booking table.
- Robust error handling for missing tables and invalid inputs.
- Modular Code Structure: Separated code into logical modules (
main.py,user.py,admin.py,register.py) for maintainability. - Security: Implemented password hashing to ensure user data security.
- Error Handling: Comprehensive error checks for database operations and user inputs.
- Scalability: Separated databases for users and bookings to improve data management.
- User Experience: Clean Tkinter interfaces with clear navigation between windows.
- Documentation: Well-commented code and structured documentation for future scalability and collaboration.
This project demonstrates a practical application of software development principles using Python. It successfully integrates a GUI, a relational database, and role-based functionalities, offering a solid foundation for event management systems.
Please Run This Code in the Previleged/Administrator Command Line:
pip3 install customtkinter tkcalendar sqlite3