Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Venue Booking System

A desktop venue booking application built with Python and CustomTkinter. It supports club registration, role-based login, venue booking, date filtering, booking cancellation, administrator approval, and password changes.

Features

  • Admin and club user login
  • Club registration
  • Create and view venue bookings
  • Date-based booking filters
  • Booking conflict detection
  • Cancel bookings
  • Admin approval, pending, or decline status updates
  • Change passwords
  • Dark-themed graphical interface

Requirements

  • Python 3.11+
  • MySQL Server
  • The following Python packages:
pip install customtkinter mysql-connector-python tkcalendar tktimepicker Pillow

Database Setup

Create a MySQL database named Venue_Booking_System, then create the required tables:

CREATE DATABASE Venue_Booking_System;
USE Venue_Booking_System;

CREATE TABLE users (
    userid VARCHAR(50) PRIMARY KEY,
    username VARCHAR(100) NOT NULL,
    password VARCHAR(255) NOT NULL,
    type ENUM('ADMIN', 'CLUB') NOT NULL
);

CREATE TABLE venue (
    bookingid INT AUTO_INCREMENT PRIMARY KEY,
    venue VARCHAR(100) NOT NULL,
    bookedby VARCHAR(50),
    from_date DATE NOT NULL,
    to_date DATE NOT NULL,
    from_time VARCHAR(10) NOT NULL,
    to_time VARCHAR(10) NOT NULL,
    status VARCHAR(20) NOT NULL,
    FOREIGN KEY (bookedby) REFERENCES users(userid)
);

Update the MySQL connection settings in dbms.py before running the application.

Running the Application

From the project directory, run:

python main.py

The application opens on the login screen. Club users can register through the REGISTER CLUB option. An administrator account must be added directly to the users table with type set to ADMIN.

Project Structure

.
├── main.py          # Application entry point
├── pages.py         # Graphical interface and application pages
├── dbms.py          # MySQL database operations
└── Images/          # Password visibility icons

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages