CMPE275 -Sec 01: Enterprise Application Development course team project [Fall 2019]
- Chintala Dheeraj Dharma( dharmadheeraj.chintala@sjsu.edu - 013760968)
- Manish Katturu (manish.katturu@sjsu.edu - 013825201)
- Sayali Patil (sayali.patil@sjsu.edu - 013530439)
- Surabhi Sinha (surabhi.sinha@sjsu.edu - 013704652)
- The goal of this project is to build an application that allows two types of user to login to the system. One is "Host" who can post their property to be booked by "Guest". Other is "Guest", who can search for property and can book for his/her required date.
-
User can be Host and Guest
-
Host can signup only by email id in domain : "sjsu.edu"
- After signup host will get a verification link
- After clicking on the verification link, host will be verified
- After verification, host will be able to post property
-
Post Property supports following features:
- Property Details
- Property Name
- Property Description:
- Property Type - Drop down list
- Sharing Type
- Drop down list
- Property location
- Property Address
- Amenities
- Wifi/parking
- Photos
- Any image file can be uploaded
- Property Availability dates and price
- Availability start date
- Availability end date
- Availability days
- Weekend price
- Weekday price
- Property Details
-
Edit property supports following features:
- Edit Property
- Edit Property Availability start date
- Edit Property Availability end date
- Edit Property weekday price
- Edit Property weekend price
- Delete Property
- Deletes Property and cancels any booking for that property
- Edit Property
-
Host dashboard
- Property wise
- Property booking details on basis of selected property
- Month wise
- Property booking details on basis of selected month
- Property wise
-
Guest can signup with any email id
- After signup guest will get a verification link
- After clicking on the verification link, guest will be verified
- After verification, guest will be able to search or book any property
- Property Search feature includes:
- Property search includes following mandatory fields:
- Location
- Start Date
- End Date
- Property search includes following optional fields:
- Sharing type
- Private room
- Entire place
- Property Type
- Apartment
- Condo
- Villa
- TownHouse
- Wifi Availability
- Maximum and Minimum price
- Sharing type
- Property search includes following mandatory fields:
- Property Results page (Paginated):
- All properties as per the guest search query
- Property Detail page:
- Selected property by user
- Booking Page
- Card Registration
- Validity of credit card no
- Validity of CVV
- Validity of billing address
- Card Selection
- Confirm Booking
- Card Registration
- Booking confirmation page:
- Summary of property booked by guest
- Guest dashboard
- All bookings (Paginated)
- Property booking details
- Month wise
- Property booking details on basis of selected month
- All bookings (Paginated)
- My trip
- All bookings that are yet to checked in or checked out by user (Paginated)
- Guest can click corresponding button for checkin/checkout
- Guest can click cancel button for cancel booking
- All bookings that are yet to checked in or checked out by user (Paginated)
-
Time management
- Time advancement
- Guest/Host can advance time to future and can check in/checkout/cancel booking
- Time advancement
Area | Technology |
---|---|
Front-End | React, React Router, Bootstrap, HTML5, CSS3, Javascript ( ES6 ) |
Back-End | Spring Boot (Hibernate, JPA, AOP), Java |
API Testing | Postman |
Database | MySQL (AWS RDS) |
Image File Storage | AWS S3 Bucket |
Deployment | AWS EC2 , Heroku |
Database design and the data was critical for the project so To maintain consistency within team we deployed our database on AWS RDS (MySQL).
- Access URL : "https://cmpe275-openhome.herokuapp.com/home" - Once search the property and you will get a shield in the browser to direct request from https to http. - Click on "Load Unsafe Scripts" for testing the flow
- Signup
- Verify through the link sent to your email id.
- Login with verified email id.
- In the header, click on "Host", through dropdown select "Post Property".
- Property Post includes multiple pages.
- Enter details on each page and click on "Save".
- Navigate to different pages through left navbar.
- On last page, click on "Submit property" to post the property.
- In the header, click on "Host", through dropdown select "Logout".
- Login as guest.
- Search for property to book
- Book property through normal flow
- In the header click on "Guest", through dropdown select "My trips" to checkin/checkout/cancel.
- In the header click on "Guest", through dropdown select "Guest Dashboard" to view guest's dashboard.
- Click on month dropdown on dashboard page, to view monthly summary.
- In the header, click on "Time advancement" button to change the date and time.