Description:
Hotel-manage-soumya is a lightweight Python library designed to simplify and streamline the management of bookings, rooms, and users within Flask web applications. With its easy-to-use classes and methods, Hotel-manage-soumya provides a set of essential functionalities for handling booking reservations, room management, and user authentication.
Key Features:
Booking Class:
The Booking class allows users to manage booking reservations efficiently. It provides methods to create, update, and delete bookings, as well as retrieve booking details such as check in date, check out date, room number, total guests, guest Name, payment etc.
Room Class:
The Room class offers a convenient way to manage room information. Users can add new rooms, delete rooms, update existing room details, and retrieve information like room type, number of beds, amenities, price, room description and availability.
User Class:
The User class offers a convenient way to manage user information. Admin can add new user, delete user, update existing user details, and retrieve information like full name, username, email, role and phone. Admin create two type of user i.e Manager and Admin.
Benefits:
Easy Integration:
Hotel-manage-soumya is designed specifically for any python web applications, allowing smooth integration into existing projects.
Time-Saving:
By providing pre-built classes and methods, Hotel-manage-soumya eliminates the need to write boilerplate code for common booking, room, and user tasks.
Scalability:
Hotel-manage-soumya's modular design allows developers to extend its functionality to suit specific project requirements.
Prerequisite
- Python >=3.7
- AWS Account
- DynamoDB connection
- Flask
How to use library in Flask APP
Following Flask app will return the total number of bookings, total number of rooms and total number of users. Follow steps to start Flask APP.
Step 1: Create virtual environment
mkdir hotel_management
cd hotel_management
python -m venv .venv
source .venv/Scripts/activate
source .venv/bin/activate
Step 2: Create Flask APP
Copy following code and save into app.py
from flask import Flask
import boto3
from hotel_manage_soumya.booking import Booking
from hotel_manage_soumya.room import Room
from hotel_manage_soumya.user import User
load_dotenv()
app = Flask(__name__)
app.secret_key = 'your_secret_key'
dynamodb = boto3.client(
'dynamodb',
aws_access_key_id='YOUR_AWS_ACCESS_KEY_ID',
aws_secret_access_key='YOUR_AWS_SECRET_ACCESS_KEY',
region_name='us-east-1'
)
tableName = 'bookings'
booking_obj = Booking(tableName)
roomTableName = 'rooms'
bucketName = 'hotel-management-soumya'
room_obj = Room(roomTableName, bucketName)
userTableName = 'users'
user_obj = User(userTableName)
@app.route('/', methods=['GET'])
def home():
all_booking = booking_obj.get_all_booking(dynamodb)
total_booking = len(all_booking['data']['Items'])
all_rooms = room_obj.get_all_room(dynamodb)
total_room = len(all_rooms['data']['Items'])
all_users = user_obj.get_all_user(dynamodb)
total_users = len(all_users['data']['Items'])
return {
"statusCode": 200,
"TotalBooking": total_booking,
"TotalRoom": total_room,
"TotalUser": total_users
}
Step 3: Install dependencies
pip install hotel-manage-soumya
pip install flask
pip install boto3
Flask APP Response
{
"TotalBooking": 4,
"TotalRoom": 4,
"TotalUser": 3,
"statusCode": 200
}
Step 4: Start Server
python app.py OR flask run
Note:
Make sure you already have tables with data in DynamoDB and if you still face any issue then you can contact with us or explore the Class, Function from Github Hotel-manage-soumya and directory src/hotel_manage_soumya
.
Support
For support, email x21174059@student.ncirl.ie , soumyaksoochik96@gmail.com.