Skip to content

joviedev/airbnb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

========================================
Airbnb Web Database Application - README
========================================

Author: Jovie Jing Sin
Student ID: s3710021

----------------------------------------
Project Description
----------------------------------------
This is a web-based Airbnb-style property listing and booking application built using:
- Node.js
- Express
- MongoDB Atlas (Cloud database)
- Bootstrap (for front-end styling)

----------------------------------------
How to Run
----------------------------------------
1. Prerequisites:
   - Node.js (version 18+ recommended)
   - npm (Node Package Manager)
   - Internet connection (required for MongoDB Atlas connection)

2. Clone or extract the project files.

3. Open a terminal and navigate to the project root directory.

4. Install all dependencies:
npm install

This will install:
- express
- mongodb
- body-parser
- open

5. Start the server: (2 ways)
npm start
node server.js

6. The app will automatically open in your default browser at:
http://localhost:3000/

If it does not open automatically, open the above link in your browser.

----------------------------------------
Configuration
----------------------------------------
- The default port is **3000**. If this port is unavailable, update the `PORT` variable in `server.js`.
- The server will connect to MongoDB Atlas using the connection string specified in `server.js`. Please update the credentials if required.

----------------------------------------
Features
----------------------------------------
- Random property listings are shown on the homepage by default.
- Users can search/filter by location, property type, and bedrooms.
- Clicking a property name opens the booking page for that listing.
- Bookings are stored in the `bookings` collection in MongoDB Atlas.
- Overlapping bookings for the same property and date range are not allowed (users will see an error if attempting).
- Error handling is implemented for failed bookings and database errors.
- Confirmation page after a successful booking.

----------------------------------------
Testing Instructions
----------------------------------------
- Submit a booking with the same property and overlapping date range to verify duplicate prevention.
- Check MongoDB Atlas (`sample_airbnb` > `bookings` collection) to see all bookings.
- If needed, change database credentials in `server.js`.

----------------------------------------
Contact
----------------------------------------
For any issues, please contact: s3710021@student.rmit.edu.au





About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published