Skip to content

Full-stack hotel management system — ASP.NET 8 backend API and React TypeScript frontend for booking and managing rooms.

Notifications You must be signed in to change notification settings

Dev-Salem-Ben-Mofleh/Hotel-management-system

Repository files navigation

Hotel-management-system

📌 Project Name

A full-stack hotel management system with a customer-facing website and a RESTful backend API.


📖 Description

This project is a hotel booking system consisting of:

  • Backend built with ASP.NET 8 using modern design patterns and best practices.
  • Frontend built with React and TypeScript, providing an elegant interface for hotel guests to search and book available rooms.

Currently, the guest-facing site allows:

  • 🔍 Searching for available rooms.
  • 🏨 Viewing room details.
  • 📅 Making reservations.
  • 🧾 Managing user accounts (register & login).

Planned future improvements include building an Admin & Employee Portal for hotel staff to manage all hotel operations efficiently.


🏗️ Backend

🔧 Tech Stack & Patterns

  • ASP.NET 8
  • Entity Framework Core
  • LINQ
  • RESTful API
  • 3-Tier Architecture
  • Repository Pattern
  • Unit of Work Pattern
  • Serilog (Logging)
  • AutoMapper (Object Mapping)
  • JWT Token (Authentication & Authorization)

📂 Features

  • User & Role Management: (Admin, Guest, Employee)
  • Reservation Management
  • Room Management
  • Payment Management

🚀 Hosting

  • Hosted for free on Monster ASP.NET Hosting

💻 Frontend

🚀 Tech Stack

  • React
  • TypeScript
  • Tailwind CSS
  • ESLint
  • React Router DOM
  • @tanstack/react-query & react-query-devtools
  • Redux Toolkit
  • react-hot-toast
  • react-hook-form
  • date-fns

🎯 Features

  • Guest-only user interface
  • Hotel information & introduction
  • Search and filter available rooms
  • Room booking workflow
  • User registration and authentication

🚀 Hosting

  • Deployed on Netlify

🗂️ Future Plans

  • Develop a secure and user-friendly Admin & Employee Dashboard to:
    • Manage reservations
    • Manage rooms
    • Handle payments
    • Manage users and permissions
    • Generate reports

How to Run Locally

📌 Backend

  1. Clone the repository.
  2. Configure your database connection in appsettings.json.
  3. Run the migrations:
    dotnet ef database update
  4. Run the API:
    dotnet run

📌 Frontend

  1. Clone the frontend repository.
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev

⚙️ Deployment

  • Backend: Hosted on Monster ASP.NET Free
  • Frontend: Hosted on Netlify

Project URL

Live Demo (https://hotel-heritage-booking.netlify.app/)


👤 Author

Salem Ben Mofleh

📧 Email:


salem@gmail.com


📢 Feel free to contribute, fork, and adapt!

About

Full-stack hotel management system — ASP.NET 8 backend API and React TypeScript frontend for booking and managing rooms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages