Skip to content

🏨Welcome to the Hotel Booking Website project! This web application is designed to streamline hotel room booking processes with a user-friendly interface. Users can register, log in, see available rooms, and make reservations based on their preferred dates. An administrative interface allows admins to manage rooms, bookings, and users efficiently.

License

Notifications You must be signed in to change notification settings

Elio-Aliaj/Hotel-Booking-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn Apache License X

Banner

View Video · Report Bug · Request Feature

Table of Contents 📋
  1. Hotel Booking Website 🔰
  2. Getting Started 🏁
  3. Usage 🛠️
  4. License 🪪
  5. Contact 📞

Hotel Booking Website 🔰

Welcome to the Hotel Booking Website project! This web application is designed to streamline hotel room booking processes with a user-friendly interface. Users can register, log in, explore available rooms, and make reservations based on their preferred dates.

Show

Key Features 🗝️

  • User Registration and Authentication: Users can create accounts and log in securely to access the booking features.

  • Room Listings: A comprehensive display of all available rooms with details such as room type, space, and pricing.

  • Booking Functionality: Users can book a room if it's available on the selected date, providing a hassle-free reservation experience.

  • Admin Dashboard: An administrative interface allows admins to manage rooms, bookings, and users efficiently.

  • Room Management: Admins can add, edit, or remove rooms, including the option to upload photos to enhance room descriptions.

  • Booking Management: View and manipulate all booking details, giving admins control over reservations.

  • User Management: Admins can oversee user accounts, with the ability to edit or delete accounts and grant or revoke admin privileges.

Admin Privileges 🔐

Admins have additional responsibilities and privileges:

  • Add/Edit/Remove Rooms: Admins can update the list of available rooms, edit their details, or remove them as needed.

  • Booking Oversight: Complete view and control over all bookings, including the ability to edit or delete reservations.

  • User Management: Admins can manage user accounts, edit details, and control admin privileges.

Tech Stack 🧰

Frontend 🖥️:

  • HTML5
  • CSS3
  • AngularJs
  • TypeScript
  • BootStrap

Backend 🦾:

  • NodeJs
  • JavaScript

Database 🗃️:

  • MySql

Getting Started 🏁

Prerequisites 📦

Before getting started, ensure you have the necessary prerequisites:

  • Node.js: Make sure you have Node.js installed. If not, you can download and install it from Node.js

  • MySQL Make sure you have Node.js installed. Visit MySQL to install the database server.

Installation ⬇️

  1. Clone the repository

    git clone https://github.com/Elio-Aliaj/Hotel-Project.git
  2. Install packages

    cd .\Hotel-Booking-Website\Backend
    npm install
    cd .\Hotel-Booking-Website\Frontend
    npm install

Running & Configuration 🚀

Configuration ⚙️

  1. In the project folder (bHotel-Booking-Website\Backend), locate the .env.example file
  2. Rename it to .env
  3. Open the .env file:
    • Replace MYSQL_HOST with your actual database IP.
    • Replace MYSQL_USER with your actual database User.
    • Replace MYSQL_PASSWORD with your database Password for the User.
    • Replace MYSQL_DATABASE with your actual database Name.
    • Replace AUTH_KEY with your encoder key.

I am assuming that you know how to set up your database if not this video might be helpful.

  1. To create the tables on the database you can run the query in this file - Database Tables

Running 🏃‍♂️

  1. Run Frontend server

    cd .\Hotel-Booking-Website\Frontend
    npm start
    This will be shown in the console:
    > frontend@0.0.0 start
    > ng serve
    
    Initial Chunk Files | Names         |  Raw Size
    styles.css          | styles        | 271.49 kB |
    main.js             | main          | 100.19 kB |
    polyfills.js        | polyfills     |  82.71 kB |
    
                        | Initial Total | 454.38 kB
    
    Application bundle generation complete. [2.610 seconds]
    Watch mode enabled. Watching for file changes...
    ➜  Local:   http://localhost:4200/
    
    No output file changes.
    
    Unchanged output files: 3
    Application bundle generation complete. [0.281 seconds]
    
  2. Run Frontend server

    cd .\Hotel-Booking-Website\Backend
    node .\App.js
    This will be shown in the console:
    -----------------:: Service listening on port: 3000 ::-----------------
    
  3. Now you can access the frontend server in the browser in the link: http://localhost:4200/

    • To login as admin:
      • Username: admin
      • Password: Admin123@
    • You can register new users and give that user from the admin account admin privileges

Usage 🛠️

Video 🎬

0102.mp4

Screenshot 📸

Here are some examples:

License 🪪

Apache License

©️ Copyright 2024 Elio Aliaj elio.aliaj0@gmail.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contact 📞

Gmail LinkedIn X GitHub

About

🏨Welcome to the Hotel Booking Website project! This web application is designed to streamline hotel room booking processes with a user-friendly interface. Users can register, log in, see available rooms, and make reservations based on their preferred dates. An administrative interface allows admins to manage rooms, bookings, and users efficiently.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published