EasyRoom is a lightweight gRPC-based service for managing room bookings.
It provides essential functionalities such as listing available rooms, getting room details, booking rooms.
- ListAvailableRooms: Filters the rooms data to return only the rooms that are available.
- GetRoomDetails: Retrieves the details of a specific room based on the room number provided.
- AddRoom: Adds a new room based on data of the file "src/add-room.ts".
- BookRoom: Books a room if it is available.
- CheckRoomAvailability: Checks if a room is available based on the room number provided.
- NodeJS
- TypeScript
- grpc-js
- proto-loader
- yarn
To get a local copy up and running follow these simple steps.
- NodeJS
- npm or yarn
git clone https://github.com/MUSTAFA-Hamzawy/EasyRoom.git
then, Move to the project directory
- Install dependecies
npm install
- Start Running the server
npm run server
- Start Running the clients ( different terminals )
npm run client
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or
- Directly create a pull request after you edit the files with necessary changes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request