An open API service indexing awesome lists of open source software.

https://github.com/soufiane-boushaba/smarthotelbookingsystem

Java console application for hotel reservations with advanced features like dynamic pricing, statistics reporting, and PostgreSQL integration. Implements Singleton and Repository design patterns, uses Java Streams, Optionals, and Enums, and is structured in layers (Service, DAO) for maintainability and scalability.
https://github.com/soufiane-boushaba/smarthotelbookingsystem

dao-design-pattern java repository-pattern singleton-pattern

Last synced: 8 months ago
JSON representation

Java console application for hotel reservations with advanced features like dynamic pricing, statistics reporting, and PostgreSQL integration. Implements Singleton and Repository design patterns, uses Java Streams, Optionals, and Enums, and is structured in layers (Service, DAO) for maintainability and scalability.

Awesome Lists containing this project

README

          


SMARTHOTELBOOKINGSYSTEM-logo



SMARTHOTELBOOKINGSYSTEM


โฏ REPLACE-ME



license
last-commit
repo-top-language
repo-language-count



Built with the tools and technologies:



java


##### ๐Ÿ”— Table of Contents

- [๐Ÿ“ Overview](#-overview)
- [๐Ÿ‘พ Features](#-features)
- [๐Ÿ“‚ Repository Structure](#-repository-structure)
- [๐Ÿงฉ Modules](#-modules)
- [๐Ÿš€ Getting Started](#-getting-started)
- [๐Ÿ”– Prerequisites](#-prerequisites)
- [๐Ÿ“ฆ Installation](#-installation)
- [๐Ÿค– Usage](#-usage)
- [๐Ÿงช Tests](#-tests)
- [๐Ÿ“Œ Project Roadmap](#-project-roadmap)
- [๐Ÿค Contributing](#-contributing)
- [๐ŸŽ— License](#-license)
- [๐Ÿ™Œ Acknowledgments](#-acknowledgments)

---

## ๐Ÿ“ Overview

โฏ REPLACE-ME

---

## ๐Ÿ‘พ Features

โฏ REPLACE-ME

---

## ๐Ÿ“‚ Repository Structure

```sh
โ””โ”€โ”€ SmartHotelBookingSystem/
โ”œโ”€โ”€ SmartHotelBookingSystem.iml
โ””โ”€โ”€ src
โ”œโ”€โ”€ Main.java
โ”œโ”€โ”€ controller
โ”œโ”€โ”€ model
โ”œโ”€โ”€ repository
โ”œโ”€โ”€ service
โ””โ”€โ”€ utils
```

---

## ๐Ÿงฉ Modules

src

| File | Summary |
| --- | --- |
| [Main.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/Main.java) | โฏ REPLACE-ME |

src.repository

| File | Summary |
| --- | --- |
| [SeasonRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/SeasonRepository.java) | โฏ REPLACE-ME |
| [ClientRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/ClientRepository.java) | โฏ REPLACE-ME |
| [SpecialEventRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/SpecialEventRepository.java) | โฏ REPLACE-ME |
| [HotelRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/HotelRepository.java) | โฏ REPLACE-ME |
| [ReservationRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/ReservationRepository.java) | โฏ REPLACE-ME |
| [RoomRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/RoomRepository.java) | โฏ REPLACE-ME |

src.repository.impl

| File | Summary |
| --- | --- |
| [ClientRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/ClientRepositoryImpl.java) | โฏ REPLACE-ME |
| [SeasonRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/SeasonRepositoryImpl.java) | โฏ REPLACE-ME |
| [HotelRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/HotelRepositoryImpl.java) | โฏ REPLACE-ME |
| [ReservationRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/ReservationRepositoryImpl.java) | โฏ REPLACE-ME |
| [RoomRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/RoomRepositoryImpl.java) | โฏ REPLACE-ME |
| [SpecialEventRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/SpecialEventRepositoryImpl.java) | โฏ REPLACE-ME |

src.controller

| File | Summary |
| --- | --- |
| [ClientController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/ClientController.java) | โฏ REPLACE-ME |
| [RoomController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/RoomController.java) | โฏ REPLACE-ME |
| [HotelController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/HotelController.java) | โฏ REPLACE-ME |
| [ReservationController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/ReservationController.java) | โฏ REPLACE-ME |

src.utils

| File | Summary |
| --- | --- |
| [DateValidator.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DateValidator.java) | โฏ REPLACE-ME |
| [DataPrinter.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DataPrinter.java) | โฏ REPLACE-ME |
| [ReportGenerator.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/ReportGenerator.java) | โฏ REPLACE-ME |
| [DatabaseConnection.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DatabaseConnection.java) | โฏ REPLACE-ME |

src.model

| File | Summary |
| --- | --- |
| [SpecialEvent.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/SpecialEvent.java) | โฏ REPLACE-ME |
| [Reservation.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Reservation.java) | โฏ REPLACE-ME |
| [Client.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Client.java) | โฏ REPLACE-ME |
| [Hotel.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Hotel.java) | โฏ REPLACE-ME |
| [Room.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Room.java) | โฏ REPLACE-ME |
| [Season.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Season.java) | โฏ REPLACE-ME |

src.model.enums

| File | Summary |
| --- | --- |
| [RoomType.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/RoomType.java) | โฏ REPLACE-ME |
| [ReportType.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/ReportType.java) | โฏ REPLACE-ME |
| [PaymentStatus.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/PaymentStatus.java) | โฏ REPLACE-ME |

src.service

| File | Summary |
| --- | --- |
| [HotelService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/HotelService.java) | โฏ REPLACE-ME |
| [RoomService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/RoomService.java) | โฏ REPLACE-ME |
| [ReservationService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/ReservationService.java) | โฏ REPLACE-ME |
| [SeasonService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/SeasonService.java) | โฏ REPLACE-ME |
| [SpecialEventService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/SpecialEventService.java) | โฏ REPLACE-ME |
| [ClientService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/ClientService.java) | โฏ REPLACE-ME |

---

## ๐Ÿš€ Getting Started

### ๐Ÿ”– Prerequisites

**Java**: `version x.y.z`

### ๐Ÿ“ฆ Installation

Build the project from source:

1. Clone the SmartHotelBookingSystem repository:
```sh
โฏ git clone https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem
```

2. Navigate to the project directory:
```sh
โฏ cd SmartHotelBookingSystem
```

3. Install the required dependencies:
```sh
โฏ mvn clean install
```

### ๐Ÿค– Usage

To run the project, execute the following command:

```sh
โฏ java -jar target/myapp.jar
```

### ๐Ÿงช Tests

Execute the test suite using the following command:

```sh
โฏ mvn test
```

---

## ๐Ÿ“Œ Project Roadmap

- [X] **`Task 1`**: Implement feature one.
- [ ] **`Task 2`**: Implement feature two.
- [ ] **`Task 3`**: Implement feature three.

---

## ๐Ÿค Contributing

Contributions are welcome! Here are several ways you can contribute:

- **[Report Issues](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/issues)**: Submit bugs found or log feature requests for the `SmartHotelBookingSystem` project.
- **[Submit Pull Requests](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.
- **[Join the Discussions](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/discussions)**: Share your insights, provide feedback, or ask questions.

Contributing Guidelines

1. **Fork the Repository**: Start by forking the project repository to your github account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
```sh
git clone https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem
```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
```sh
git checkout -b new-feature-x
```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to github**: Push the changes to your forked repository.
```sh
git push origin new-feature-x
```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

Contributor Graph






---

## ๐ŸŽ— License

This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file.

---

## ๐Ÿ™Œ Acknowledgments

- List any resources, contributors, inspiration, etc. here.

---