Find the perfect place to stay!
Restify is a web-application, much like AirBNB or Bookings.com which allows users to browse/book properties for a getaway, place their own properties up for rent, and manage their bookings.
- Browse properties
- Book properties
- Manage bookings
- Manage properties
- Leave reviews
All edits made can be found under the commits tab.
- Sign-up / Log-in
- Home
- Account
- Personal information
- My reservations (user is a guest)
- Pop-up: Cancel reservation
- My properties (user is now a host)
- Property management page
- Property creation page
- User page from the POV of a host
- Pop-up: Leaving a review for a user
- Reviews
- Catalog
- Pop-up: Amenities
- Property for a user page
- Booking
- Comment page from the user's POV
- Accounts
- User signup/login/logout/edit
- Host leave rating/comment about a guest
- Host view ratings/comments about a potential guest
- Property creation & administration
- User can create property listings
- Host can set a listing's availability and pricing
- Host can edit general information of a listing
- Host can approve/deny booking requests and cancellation requests
- Host can terminate a booking at any time
- Property info & search
- User can search for properties by location, number of guests, amenities and availability
- User can sort search results by price or rating
- User can view property details
- User can view contact information of a host
- User can request to book a property
- User can view history of their bookings
- User can cancel a booking
- User can search for properties by location, number of guests, amenities and availability
- Social network
- User can leave a rating/comment for each completed booking
- Host can respond to a rating/comment
- User can only respond to host's follow-up comments
- Notifications
- Hosts are notified when a user requests to book their property, rates it, posts a comment, or requests a cancellation
- Users are notified when a host approves/denies a booking request or when bookings are coming soon
--Marking scheme for P2:--
-
General -1 mark per improper or lack of error handling, e.g., invalid email address, password mismatch, etc. -1 mark per incorrect permission, e.g., host A cannot terminate host B's reservations, users cannot add comments to a property they have not been to, etc.
-
Property (30 marks)
- Create/update (10 marks) - Jason
- Search result (18 marks) - KATE
- Pagination support (3 marks)
- Must support at least 4 filters, e.g., location, available dates, number of guests, amenities available (10 marks)
- Must support at least 2 order-by (5 marks)
- Delete (2 marks) - Jason
-
User (17 marks) - Ash
- Authentication (5 marks) - Ash
- Token based authentication (2 marks) - Ash
- Login (2 mark) - Ash
- Logout (1 mark) - Ash
- Signup/update profile (12 marks) - Ash
-
Comments (18 marks) - Ash
- View comments (8 marks) - Ash
- For Guest/Property (6 marks) - Ash
- Can distinguish reply from comment (2 marks) - Ash
- -2 marks without pagination support - Ash
- Write comments/reply (10 marks) - Ash Note: remember the requirements on who can comment/reply and how many times.
- View comments (8 marks) - Ash
-
Reservations (20 marks)
- List of reservations (8 marks)
- Ability to filter by user type, i.e., host or guest (4 marks)
- Ability to filter by state (4 marks)
- -2 marks without pagination support
- Reservation actions (12 marks) - Jason
- Reserve (5 marks)
- Cancel (2 marks)
- Approve/Deny Pending (2 mark)
- Approve/Deny Cancel (2 marks)
- Terminate (1 mark)
- List of reservations (8 marks)
-
Notifications (15 marks) - Ash
- List of notifications (8 marks) - Ash
- -2 marks without pagination support - Ash
- Read notification (2 marks) - Ash
- Clear notification (1 marks) - Ash
- CLEARS BASED OFF POST REQUEST WITH NOTIFICATION ID - Ash
- Receiving notifications (4 marks) - Ash
- Host: new reservation, cancellation request - Ash
- Guest: approved reservation or cancellation request - Ash
- List of notifications (8 marks) - Ash
--Marking scheme for P3:--
-
General
- 1 mark per improper or lack of error handling, e.g., invalid email address, password mismatch, etc. This includes incorrect permission. See P2 rubrics for more detail.
- 1 mark for poor UI/UX. See P1 rubrics for more detail. You will not be marked for concurrency bugs, e.g., what happens if a new property is added when a user is flipping through search results.
- Ash made navbar
-
Reservation (40 marks)
- Responsive design (3 marks)
- Pagination support (4 marks)
- Filter by user type, i.e., host or guest (8 marks, 4 each) This can be implemented in different ways, e.g.: 1. Two separate pages, one for reservation as guest or as host. 2. One page, with options to filter or two separate tabs, row, etc.
- Sort/Filter/Organize reservations by state (4 marks)
- Bugs with combining search and pagination should be deducted from pagination support
- Reservation actions (21 marks)
- Reserve (9 marks)
- basic functionality (3 marks)
- ability to reserve timeslots occupied by cancelled/terminated reservations (2 marks)
- ability to reserve across multiple availability/price ranges (4 marks)
- Reserve (9 marks)
- Cancel (3 marks)
- Approve/Deny Pending (3 mark)
- Approve/Deny Cancel (3 marks)
- Terminate (3 mark)
- It should be clear to the user what the consequence of each action is, e.g., warn user with a dialog box or a paragraph for each action.
-
Account (20 marks)
- Responsive design (3 marks)
- [...] Login (4 marks) - Ash
- [...] Logout (1 marks) - Ash
- Signup/update (12 marks)
- Basic registration (10 marks)
- Profile avatar support (2 marks)
-
Property (42 marks)
- Responsive design (3 marks)
- Support for different availability/prices (4 marks)
- As part of view/create/update
- This is considered a bonus feature for its difficulty
- Support for images (4 marks)
- At least 3 images per property (2 marks)
- Any number of images (2 marks)
- View property detail (8 marks) - Jason
- Search page (10 marks) - Kate
- Pagination support (4 marks)
- Filters (4 marks)
- Order-by (2 marks)
- Create/update (11 marks) - Kate
- Delete (2 marks)
- Remember to give a big warning
- Consider what should happen to existing reservations
-
Comment/Rating (26 marks)
- Responsive design (3 marks)
- Pagination support (4 marks)
- Comments for past guests (7 marks)
- Basic system (5 marks)
- Should have host name, date/time, message
- Should be sorted in some ways, e.g., by time of post
- with rating system (2 marks)
- Basic system (5 marks)
- Comments for properties (12 marks)
- Basic system (5 mark)
- Same as above
- With rating system (2 marks)
- Reply system is worth (5 marks)
- Basic system (5 mark)
-
Notifications (32 marks) - Ash
- Responsive design (3 marks)
- Pagination support (4 marks)
- View/List notifications (8 marks)
- Clear notification (3 marks)
- Receiving notifications (12 marks)
- Host: new reservation, cancellation request, new comment on owned property (2 each, 6 total)
- Guest: result of reservation or cancellation request (2 each, 4 total)
- Bonus: Guest receives notification when a reservation is about to come up (2 marks)