Git Product home page Git Product logo

mshtyusuf / peer-to-peer_online_market_place_-_homestay_network_airbnb_model Goto Github PK

View Code? Open in Web Editor NEW

This project forked from midnight-jam/peer-to-peer_online_market_place_-_homestay_network_airbnb_model

0.0 0.0 0.0 24.14 MB

The application is the prototype of Airbnb. In this project we are building an application where the user can either host other people by renting his property for a short period of time or the user can be a guest if he books property hosted by other user. The user can make payment, view the listings on map and provide reviews for other properties and people. Purpose of System We learn web development using MEAN stack and RabbitMQ a message broker which uses AMQP protocol for scalability. We have also used Redis for cache management.

JavaScript 47.85% HTML 46.34% CSS 5.80% Shell 0.01%

peer-to-peer_online_market_place_-_homestay_network_airbnb_model's Introduction

CMPE 273 – Enterprise Distributed Systems – Team Project

Team

Team Number 4

Team Member SJSU ID

Aniruddha Pratap Singh 011432317

Gaurang Mahatre 011432200

Jayam Malviya 011435567

Kunal Ahuja 010731227

Mayank Sharma 011435320

Prateek Sharma 011475620

Member Contribution towards the Group Project

• Aniruddha Pratap Singh: Design and development of Host Module – Back End Pagination

• Gaurang Mhatre : Design and development of Admin module – Front End Redis Caching

• Jayam Malviya: Admin Analytics Log Analysis

• Kunal Ahuja : Design and development of trip module- backend Google Map API Integration

• Mayank Tanwar: Design and development of Host Module – Front End User Authentication

• Prateek Sharma : Design and development of trip bidding Trip Module-front End.

 Introduction

The application is the replica of Airbnb. In this project we are building an application where the user can either host other people by renting his property for a short period of time or the user can be a guest if he books property hosted by other user. The user can make payment, view the listings on map and provide reviews for other properties and people. Purpose of System We learn web development using MEAN stack and RabbitMQ a message broker which uses AMQP protocol for scalability. We have also used Redis for cache management.

• Front End/GUI Technologies

HTML

CSS/Bootstrap

JavaScript

Angular JavaScript

• Back End/ Server Technologies

Node Java Script

Rabbit MQ (Message Broker)

• Databases

MongoDB

MySQL

Redis (for caching)

• Framework Express

Object Management Policy

 • Requirement Analysis:

Planning and requirement analysis phase is the first phase of our application, as per the requirements the application is divided into three layers:

  1. Presentation Layer: The presentation layer consists of the graphical user interface of our application. The user interacts with the user interface to send requests to the server.

  2. Business Layer: The business layer consists of the implementation of business logic. In this layer we translate the functional requirements into working code, that is, this layer is responsible for processing of the requests received from the user and to return valid response. The modules have been implemented using the message broker Rabbit MQ which implements the Advance Messaging and Queuing Protocol. The various modules are also integrated in this layer.

    Data Layer:

The data layer comprises of the database to store the data for various modules. In this layer we define the relationship between different tables. We have used both MongoDB and MySQL to store the data.

  • Modules:

We have implemented various modules as per the requirements namely, Host, Trips, Billing and Admin. The host model stores the data about the host and the property he has listed. The trips module stores the data about the trip of the user. The billing module stores the bills for various trips and admin model has the data for all the users, their trips, lists and bills. Each of these module has its own characteristics and schema.

• Implementation:

We have implemented the user interface and various functionalities for each of the modules mentioned above. We have implemented key features like address validator to validate the address of the property entered by the user, maps using google map API which the properties in a particular area on google map. We have used Rabbit MQ as message broker between the client and server which makes the application reliable and scalable. We have also used Redis for caching sql data.

• Testing:

We have tested our application using mocha and jmeter. The various graphs shown below discusses the result of jmeter testing. We also tested application using Mocha to check if the functionalities are as expected. v How we handled “Heavy Weight” resources.

The heavy weight resources in our application are the profiles images and profile videos of the user, the images of the property that the user saved while listing his property for rent and the images uploaded by the user while reviewing a property. We have followed industry best practices and used Amazon S3 to store these images, retrieving the images from cloud is less expensive than fetching the images from database.

The policy you used to decide when to write data into the database We are storing the data into the database optimally. For Example, while posting a property on rent the user has to enter the information about the property in multiple pages, we are not storing the data into the database at each page rather we store the data in the database only at the last step, this way if the user wishes to cancel the booking in between we don’t have to rollback all the data and also we don’t have to store the data into the database at each step.

Similarly, in trips we are fetching the listings of a particular city only once from the database and then we store this data in local storage, we use this locally saved data in the next booking screens and save the data about the booking at the last step.

For deatiled description read the Project_Report_Peer-To-Peer-Online-MarketPlace.pdf

peer-to-peer_online_market_place_-_homestay_network_airbnb_model's People

Contributors

midnight-jam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.