Requirement
Relational database
User accounts (two roles)
Variety of user tasks
Project idea: Hotel Research and Booking
We are going to set up a website about a hotel reservation. There are two roles accounts, hotel holder and customers’ account. The hotel holder account would be unique that allowed the hotel manager to control the status of room and manage the booking information. And the purpose of users’ accounts is going to remember the booking history, customers’ information, manage the current reservation, and get VIP points services.
Two roles of Project
Customers – the users who want to book hotel on website
Hotel Holder – hotel account to check the reservations for a specific hotel
Customer User Tasks
- User login & register
- Hotel room reservation – search by criteria
- User account
- 1) Booking History
- 2) Current Booking —- Revise, Cancel, Change check-in date, etc
- 3) View History
- 4) Reset Password
- 5) Account information (E-mail, name, phone, etc)
- Discount information & VIP System
Hotel User Tasks
Management Reservations
- After contacting, changing, canceling, and upgrading book information
- Able to check customer information (phone, name, e-mail, etc)
- Control the status of each hotel room
- Online Chat (Optional)
Database:
- User information database (name, phone, e-mail, password, points etc)
- Hotel information database (price, room type, etc)
- Booking information table (user id, hotel id, reservation id, check-in data, check-out date, addition information etc)
Evaluation Criteria
This is what I’ll be looking for in your final product.
- Functionality: does the app allow users to perform core tasks?
- Usability: is performing those tasks a smooth and easy experience?
- Aesthetics: do the pages have a reasonable appearance?
- MVC design: does the code follow the Model-View-Controller pattern?
- Table design: are the database tables reasonably organized?
- Security: does the code avoid injection vulnerabilities?
Consider using Bootstrap instead of styling from scratch. It’s not required, but it could save you considerable time for more important things.
JavaScript is also not required, but it can enhance usability. Don’t plan to use it everywhere, but consider where small amounts could have a postive impact.