Skip to content

tulbadex/staysync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StaySync

Hotel management system

📒 Description

StaySync is a comprehensive hotel management system built with ASP.NET Core 8 MVC. It helps hotels manage the entire accommodation process from reservations and check-in to billing and check-out.

The software aims to help companies manage the whole accommodation process from making a reservation and checking in to managing bills and checking out.

This is a professional ASP.NET Core MVC application and it has taught me a lot and continuos to do so. I have a lot of future plans for the application and therefor it has a lot of missing features. I plan to maintain and improve this project.

🌐Technologies

👨‍💻 Backend

  • ASP.NET Core 8.0
  • ASP.NET Core Identity 8.0
  • Entity Framework Core 8.0
  • Newtonsoft Json 13.0.2
  • AutoMapper 12.0.0
  • Html Sanitizer 8.0.601

🎴 Frontend

  • Bootstrap 4.6.2
  • Bootstrap Select 1.13.18
  • Font Awesome 6.2.0
  • JQuery 3.6.1

🗄️ Database

  • Microsoft SQL Server 2022 Developer Edition

🧪 Tests

  • NUnit 3.13.3
  • NUnit3 TestAdapter 4.3.1
  • NUnit Analyzers 3.5.0
  • Microsoft.NET TestSdk 17.4.0
  • Microsoft EntityFramework Core InMemory 6.0.10
  • Moq 4.8.13
  • MockQueryable.Moq 6.0.1
  • coverlet collector 3.2.0

🧱 Architecture

The application follows the standard MVC architecture including some key principles and patterns like:

Figure 1. Frameworks specific database tables schema

Figure 2. Application specific database tables schema

🎯 Code coverage

Figure 3. Data layer code coverage

Figure 4. Service layer code coverage

🎿 Installing the project

You can install the project in three different ways.

1. Cloninig the repository

  • Open Git Bash.
  • Change the current working directory to the location where you want the cloned project.
  • Type git clone https://github.com/tulbadex/StaySync and press enter.

2. Downloading the repository

  • Go to the root of the repository.
  • Click the green code button.
  • Click download zip.

3. Using a Git GUI client

⌨️🖱️ Usage

  1. Install the project
  2. Open the solution
  3. Make sure it builds
  4. Start a MSSQL Server instance
  5. Add the database connection string in the user secrets
    1. Right click on the StaySync.Web project
    2. Select Manage User Secrets
    3. Your secrets.json should look like this
    {
        "ConnectionStrings": {
            "DefaultConnection": "your_connection_string"
        }
    }
  6. Set StaySync.Web as a starting project
  7. Apply database migrations
    1. Open the package manager console
    2. Set StaySync.Data as a default project
    3. Execute this command
    Update-Database
  8. Right click on libman.json located in StaySync.Web and select Restore Client-Side Libraries
  9. Start StaySync.Web
  10. Log in with one of the seeded users
    Username Password Roles
    receptionist receptionist123 Receptionist
    hotelsManager hotelsManager123 HotelsManager
    administrator administrator123 HotelsManager, Administrator
  11. Try out the application and share your feedback

📋 Documentation

A local code documentation website can be hosted following these steps:

  1. Make sure you have built the solution at least one time before
  2. Open the documentation folder in the root of the repository
  3. Start a terminal in that folder
  4. Execute this command
        docfx docfx_project\docfx.json --serve
  5. Open http://localhost:8080
  6. Click Api Documentation
  7. Start exploring and reading

📑 License

The project is licensed under the GNU GPL v3 license.

About

A comprehensive hotel management system built with ASP.NET Core 8 MVC, Entity Framework Core, and SQL Server. Manages reservations, guest profiles, room allocation, identity documents, and check-in/check-out workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors