Hotel Management System

SOA/Microservice style distributed system using NServiceBus

Full Stack Web DevelopmentC#MIT

Abstract

Hotel Management System is an open-source Full Stack Web Development project. SOA/Microservice style distributed system using NServiceBus. This is an example of a distributed system built using design practices from Udi Dahan's Advanced Distributed Systems Design Course. This application uses a microservices-oriented architecture to learn how to build autonomous services using asynchronous message-based communication, composite UI/micro-front ends, and how to define service boundaries around business capabilities. It is built using C#. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

This is an example of a distributed system built using design practices from Udi Dahan's Advanced Distributed Systems Design Course. This application uses a microservices-oriented architecture to learn how to build autonomous services using asynchronous message-based communication, composite UI/micro-front ends, and how to define service boundaries around business capabilities.

The problem domain is that of a boutique hotel with the main operations of a hotel such as booking, front desk operations and check-out. The use cases of the domain are detailed in the Use Cases section below. This domain was chosen because it was a homework assignment in the ADSD course and most people are familar with the general process.

The specific setup steps for each of these are detailed below.

2. Objective

SOA/Microservice style distributed system using NServiceBus

This project demonstrates how C# can be applied to a real-world Full Stack Web Development problem.

4. Technology Stack

C#
  • Branding

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • .NET SDK / Visual Studio
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/crmorgan/hotel-management-system.git
cd hotel-management-system

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by crmorgan and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship