Skip to content

ShadowInCache/HOTEL-MANAGEMENT-SYSTEM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HOTEL-MANAGEMENT-SYSTEM

Hotel Management System is a complete booking and operations demo app built with a Streamlit frontend and a MySQL backend. The project demonstrates a practical hotel-management workflow including hotels, rooms, staff, guests, bookings, payments, services, restaurant orders, feedback and analytics.

Key Features:

  • Hotel & room management (add/update hotels and rooms)
  • Guest management and booking workflow
  • Booking creation, check-in/check-out and availability handling
  • Payment processing with validation and payment log
  • Staff, services and restaurant orders management
  • Feedback collection, rating aggregation and analytics dashboard
  • MySQL schema with triggers, stored procedures and utility functions

Tech stack:

  • Frontend: Streamlit (app.py)
  • Database: MySQL (schema and stored procedures in Hotel_management2.sql)
  • Language: Python

Dependencies (see requirements.txt):

  • streamlit
  • mysql-connector-python
  • pandas
  • plotly
  • python-dateutil

Quick Start — Setup & Run

  1. Install Python dependencies (prefer a virtual environment):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
  1. Create the MySQL database and import schema/data:
# In a shell (PowerShell), run the MySQL import command. Adjust user and host as needed.
# Example (you will be prompted for your MySQL password):
mysql -u <your_mysql_user> -p < Hotel_management2.sql
  1. Configure database connection:
  • Edit config.py to set your MySQL credentials (or provide them via environment variables if you prefer). Do NOT commit production credentials to public repos.

Example config.py structure:

DB_CONFIG = {
	'host': 'localhost',
	'user': 'your_mysql_user',
	'password': 'your_mysql_password',
	'database': 'Hotel_Management',
	'port': 3306
}
  1. Run the app (from the project root):
streamlit run app.py

Open the URL shown by Streamlit (usually http://localhost:8501) in your browser.

Database notes

  • The SQL file Hotel_management2.sql contains table definitions, sample data, triggers, functions and stored procedures used by the app. Important stored procedures used by the app include GetAvailableRoomsByHotel, AddBooking, CheckOutGuest and GetTotalPaymentByGuest. Triggers enforce room status updates, payment logging and automatic hotel rating updates from feedback.

Project structure

  • app.py — Streamlit application and UI logic
  • config.py — database/configuration constants
  • Hotel_management2.sql — database schema, sample data, triggers and stored procedures
  • requirements.txt — Python dependencies

Contributors

  • Akshay — frontend and UI
  • Akilesh — database development

If you'd like contributors listed differently (for example with GitHub usernames or roles per file), tell me and I will update the section.

License

  • See the LICENSE file in the repository for license terms.

If you want, I can also:

  • create a config.example.py with a sanitized template
  • remove any hard-coded credentials from config.py and add a note about environment variables
  • commit the README update and create a branch/PR for review

About

A full‑stack Hotel Management System built with MySQL (schema, triggers, stored procedures, functions) and a Streamlit frontend (app.py). It manages hotels, rooms, staff, guests, bookings, payments, services, restaurant orders and feedback.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages