Skip to content

Comprehensive Hotels Booking Data Analysis and Presentation GUI developed in Python. This project is undertaken as part of the coursework for the CEID module Principles of Programming Languages and Compilers.

License

Notifications You must be signed in to change notification settings

johnvelgakis/DataManipGUI

Repository files navigation

Hotels Booking Data Analysis and Presentation GUI

Main Menu

Project Description

This project is a graphical user interface (GUI) for analyzing and presenting hotel booking data for two hotels, the City Hotel and the Resort Hotel. It provides various statistical analyses and visualizations, including basic statistics, booking distributions, trends, and seasonality. The GUI allows users to interact with the data, adjust the time intervals for viewing, and store and retrieve data from a MySQL database. It was part of the coursework for CEID's Module Principles of Programming Languages & Compilers.

Features

  • Basic Statistics: Display average nights stayed, cancellation rates, and booking periods.
  • Booking Distribution: Analyze booking distributions by month, season, room type, and customer type.
  • Trends: Visualize monthly, yearly, and seasonal trends in bookings and cancellations.
  • Seasonality: Explore seasonal patterns in bookings and cancellations.
  • Database Integration: Retrieve and store data in a MySQL database.
  • Data Export: Export analyzed data and database schema to CSV and SQL files.

Installation

  1. Clone the repository:

    git clone <https://github.com/johnvelgakis/DataManipGUI.git>
    cd <DataManipGUI>
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Set up the MySQL database:

    • Ensure MySQL is installed and running.
    • Update the db_connection.py file with your MySQL credentials.
    • Create a db running create_db.sql.
    • Insert the dataset to your db running insert_data_to_DB.py.

Usage

  1. Launch the GUI:

    python main_menu.py
  2. Use the main menu to navigate through different analysis options:

    • Basic Statistics
    • Booking Distribution
    • Trends
    • Seasonality
  3. View and interact with the visualizations and data tables presented in each section.

  4. To export analyzed data and database schema:

    python db_connection.py
  5. Use the GUI controls to customize the analysis, such as selecting custom date ranges or different data groupings.

Directory Structure

DataManipGUI/ 
│
├── main_menu.py
├── db_connection.py
├── hotel_booking.ipynb
├── requirements.txt
├── create_db.sql
├── insert_data_to_DB.py
├── LICENCE
├── README.MD
├── tables/
│   ├── basic_statistics.csv
│   ├── booking_distribution.csv
│   └── schema.sql
│
└── media/
    ├── src/
    │   ├── bg1.jpg
    │   └── Main_menu.png
    └── graphics/
        └── (All the plots being saved)

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or issues, please contact:

About

Comprehensive Hotels Booking Data Analysis and Presentation GUI developed in Python. This project is undertaken as part of the coursework for the CEID module Principles of Programming Languages and Compilers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published