{"id":15091446,"url":"https://github.com/saeedmosaffer/hotel-management-system","last_synced_at":"2026-03-02T10:32:04.837Z","repository":{"id":246964127,"uuid":"818028347","full_name":"saeedmosaffer/Hotel-Management-System","owner":"saeedmosaffer","description":"The Hotel Management System is designed to streamline operations for both hotel employees and guests. It offers functionalities for customers to search available rooms, make reservations, check-in, check-out, and generate invoices.","archived":false,"fork":false,"pushed_at":"2024-07-05T20:40:13.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-21T01:38:23.723Z","etag":null,"topics":["docker","jwt","oas","restful-api","spring-boot","swagger","versioning-api"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saeedmosaffer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-21T00:25:08.000Z","updated_at":"2024-07-05T20:40:17.000Z","dependencies_parsed_at":"2024-07-06T01:48:12.297Z","dependency_job_id":"8af09ca5-bc40-4219-8a07-ee50f55e5a27","html_url":"https://github.com/saeedmosaffer/Hotel-Management-System","commit_stats":null,"previous_names":["saeedmosaffer/hotel-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saeedmosaffer%2FHotel-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saeedmosaffer%2FHotel-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saeedmosaffer%2FHotel-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saeedmosaffer%2FHotel-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saeedmosaffer","download_url":"https://codeload.github.com/saeedmosaffer/Hotel-Management-System/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240402860,"owners_count":19795803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","jwt","oas","restful-api","spring-boot","swagger","versioning-api"],"created_at":"2024-09-25T10:41:11.077Z","updated_at":"2026-03-02T10:32:04.707Z","avatar_url":"https://github.com/saeedmosaffer.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Hotel Management System\n\nThe Hotel Management System is designed to streamline operations for both hotel employees and guests. It offers functionalities for customers to search available rooms, make reservations, check-in, check-out, and generate invoices. Employees can manage room availability, maintain customer profiles, oversee housekeeping schedules, and manage billing. The system uses Spring Boot to provide a set of RESTful APIs to support web and mobile interfaces.\n\nResources:\n\nCustomer Management\n\nRegister: Allows new users to register.\n\nLogin: Authenticates users and provides a JWT for secure access.\n\nProfile Management: Enables users to view and update their profiles and change passwords.\n\nEmployee Management:\n\nAdmin Functions: Admins can manage hotel employees and staff.\n\nSearch Functionality\n\nReservations: Search for reservations by customer name, ID, and date.\n\nCustomer Info: Search for customer information.\n\nRoom Availability: Check room availability with details like price, facilities, capacity, size, and features.\n\nReservation Management\n\nBooking: Allows customers to book rooms.\n\nModification and Cancellation: Customers can modify and request cancellations (admin approval required).\n\nRoom Management:\n\nRoom Types and Status: Admins can manage room types, availability, and status.\n\nCheck-In/Check-Out\n\nCustomer Management: Admins manage the arrival and departure processes.\n\nHousekeeping Management:\n\nScheduling and Tracking: Manage housekeeping tasks and schedules.\n\nBilling Functionality:\n\nInvoice Management: Generate and manage invoices for customer reservations.\n\nClass Diadram: \n![image](https://github.com/saeedmosaffer/project2-hotel-management-system/assets/132621749/dd25b4c4-b326-4d40-be23-35edc6f69e52)\n\nER Diagram:\n![image](https://github.com/saeedmosaffer/project2-hotel-management-system/assets/132621749/b7c13ad9-12aa-4866-9346-0a2610d38519)\n\n\nHow to Build, Package, and Run the Application:\n\nPrerequisites\n\nJava SDK 17\n\nMaven\n\nDocker (for building Docker images)\n\nBuilding the Application\n\n1. Clone the repository:\n\ngit clone https://github.com/saeedmosaffer/project2-hotel-management-system.git\n\ncd hotel-management-system\n\n2. Build with Maven:\n\nmvn clean install\n\n3. Run the Application:\n   \njava -jar target/project2-hotel-management-system-0.0.1-SNAPSHOT.jar\n\nDocker Image:\nhttps://hub.docker.com/repository/docker/saeedmosaffer/project2hotel-management-system/general\n\nBuild Docker Image: docker build -t saeedmosaffer/project2-hotel-management-system\n\nRun Docker Container: docker run -p 8080:8080 saeedmosaffer/project2-hotel-management-system\n\nDockerHub Repository: \n\nWhat I Learned:\n\nSpring Boot: Understanding the fundamentals of Spring Boot for building RESTful APIs.\n\nJWT Authentication: Implementing JWT for secure API access.\n\nAPI Versioning: Utilizing different strategies for API versioning (URI, Request Parameter, Accept Header).\n\nDatabase Management: Designing and implementing entity relationships using JPA.\n\nDocker: Containerizing the application for consistent deployment.\n\nException Handling and Validation: Ensuring robust API responses and input validation.\n\nOAS 3.1.0: Documenting APIs using OpenAPI Specification for clarity and maintainability.\n\nRole-Based Access Control: Differentiating access levels for admin and customer roles.\n\n\nContributor:\nSaeed Mosaffer - 1202254\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaeedmosaffer%2Fhotel-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaeedmosaffer%2Fhotel-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaeedmosaffer%2Fhotel-management-system/lists"}