- Program Description
- Requirements
- How to Run the Program
- Database Schema
- Use Case Implementation
- Captured Screens
- Project Structure
- Testing Results
- Authors
Once upon a time, Mr. Gagas, as a hotel owner, feels deeply overwhelmed by the amount of complaints he received from his customers. Most were arguing about the damages that each room has suffered, up to the fact that not just one, but more than one discovered that the room they're getting assigned to is actually on a very bad state and/or not used for such a long time.
Looking at this, Mr. Gagas has assembled our team of members Aldy, Cathleen, Ferdinand and Hans to come up with a solution to fix this. He feels that the longer this problem gets fixed, the more loss he's going to acquire instead of profit.
After careful considerations and plannings, we finally came with the concept of Room Repair and Occupancy Control System, or abbreviated as RORO Control System. RORO Control System is a web-based software used to manage room and hotel facilities repairment. Three important aspects that are being covered in this software are:
Looking at this, Mr. Gagas has assembled our team of members Aldy, Cathleen, Ferdinand and Hans to come up with a solution to fix this. He feels that the longer this problem gets fixed, the more loss he's going to acquire instead of profit.
After careful considerations and plannings, we finally came with the concept of Room Repair and Occupancy Control System, or abbreviated as RORO Control System. RORO Control System is a web-based software used to manage room and hotel facilities repairment. Three important aspects that are being covered in this software are:
Hopes are high that this system will be able to fix Mr. Gagas' problems and hopefully bring more profit for his hotel ~
-
Clone this repository
git clone https://gitlab.informatika.org/agent-47/if3152-2023-k01-07-roro-control-system.git
-
Change the directory to the cloned repository
cd if3152-2023-k01-07-roro-control-system
-
Install the required package
npm install
-
Run the program
npm run dev
-
Open the program in a new browser tab or you can access the program on
localhost:3000
For our database schema, we used three tables, namely, Room, Report, and Employee. As you can probably see, they all have different informations to store, and what probably connects them is the fact that Room and Report are linked by
room_repaired, room_name
attribute, while Report and Employee are linked by eic, name
.Use Case | Description |
---|---|
Use Case 1 | Log In |
Use Case 2 | View Room List |
Use Case 3 | Add New Room |
Use Case 4 | Change Room Data |
Use Case 5 | View Report List |
Use Case 6 | Add New Report |
Use Case 7 | Mark a Room for Repair |
Use Case 8 | Remove Repair Mark |
Use Case 9 | View Employee List |
Use Case 10 | Add New Employee |
Use Case 11 | Change Employee Data |
18221045 | 18221157 | 18221169 | 18221171 | ||
---|---|---|---|---|---|
Ivan Aldy Ganesen | Cathleen Lauretta | Ferdinand Refrandt | Hans Stephano Edbert N | ||
UC 1 | ✓ | ||||
UC 2 | ✓ | ✓ | |||
UC 3 | ✓ | ✓ | |||
UC 4 | ✓ | ||||
UC 5 | ✓ | ✓ | |||
UC 6 | ✓ | ||||
UC 7 | ✓ | ||||
UC 8 | ✓ | ||||
UC 9 | ✓ | ✓ | |||
UC 10 | ✓ | ||||
UC 11 | ✓ |
Below are the interface of RORO Control System
- Login Page
- Admin - Room List : There are "Add Room" button if the user is admin
- Admin - Report List
- Admin - Employee List : Employee List can only be accessed by Admin
- Admin - Add Room : Only Admin can add new room to the database
- Admin - Add Employee : Only Admin can add new employee to the database
- Admin - Edit Room : Only Admin can edit existed room
- Add Report : Report cannot be edit by employee or admin
.
├─ __test__ # Contains unit and/or component testing(s)
├─ doc # Contains database schema, testing results, and screenshots of application
└─ screenshots
├─ prisma # Contains prisma library to CRUD database
├─ public # Contains icon used in the application
└─ icons
└─ src # Contains source code of the application
├─ app # Consists of the routings used in the app and pages
├─ api
├─ employee
├─ login
├─ profile
├─ report
└─ room
├─ components # Consists of reusable components in the program
├─ pages # Consists of API interface(s)
└─ api
└─ types # Consists of interfaces needed to fulfill one aspect of the authentication provided by Next.js
We did some testing for the InputField component and the Room's FrontEnd page, and everything is a success. However, there's a slight issue when testing for Report and Employee is conducted because it can't seem to detect
"msw/node"
.Student ID | Name |
---|---|
18221045 | Ivan Aldy Ganesen |
18221157 | Cathleen Lauretta |
18221169 | Ferdinand Refrandt |
18221171 | Hans Stephano Edbert N |
© Agent 47