Giter Club home page Giter Club logo

aerobnb_server's Introduction

Aerobnb - Server(Backend)

Aerobnb is an application that vacation rental online marketplace. It maintains and hosts a marketplace, accessible to consumers on this app. Through the service, users can arrange lodging, primarily homestays, and tourism experiences or list their properties for rental.

This is a Demo Video link of the Application

This is a link to the live site.

This is a link to the front-end repository.

Motivation

Nowadays, lots of people investing in a property. So, I wanted to create an app that could encourage Traveling and Hospitality Professionals to get profitable for their unused properties. I had been learning a lot about these topics over the year by seeing other hotels and apartment lease booking website used as examples for how they work, and I wanted to give that ability to any user specifically who want to host their property and who wants to spend some holiday stay at a different destination.

Screenshots

Home Page

Create New Account as Sign Up

After Sign Up/Login In, Dashboard shows Plethora of Listings,
it can be filtered by different aspects like price, neighborhoods, name of the property, and address

If Users want to be Host then they can publish their property with Add Listing feature.
Here, the user act as a Host.

If Users want to be Guest then they can reserve other properties for their holidays with Add Reservation feature.
Every user has to upload age proof document when they make a reservation so it can be signed by the host afterward.
Here, the user act as a Guest.

After Book Reservation Host can see when they login In
How many reservation hosts received that can be seen in My Reservation
The host can Sign users age proof document here.

User can see their Profile in full Details in NavBar Drop-Down Menu.

After the Visit user can review their trip experience with ratings and comments.

Technology Used

  • JavaScript
  • Ruby on Rails Backend
  • React Frontend
  • Redux thunk
  • PostgreSQL Database
  • Semantic-UX/UI
  • API(Google-Maps Geocoding)

Features

Users Can:

  • Create one account work as both Host and Guest
  • Location of posting in Google-Maps with exact pin marker
  • Multi-purpose search built from scratch
  • JWT Authentication
  • Drag and Drop for better UX
  • Carousel with React-Slick (implemented at listings Dashboard and listing detail)
  • Single & multiple images (s) upload with carrierwave gem
  • PDF file upload and download with carrierwave gem
  • date pick with react-date
  • reservation form only show for guests, not the host
  • infinite scroll built from scratch

Installation

Clone the front-end repository
run 'atom .' or open in other editors like VS code, create an .env file at the project root folder.
inside '.env' file, create 2 environment variables and set it to your own backend endpoint and google API key

  REACT_APP_GOOGLE_API_KEY = "Secret"
  REACT_APP_API_ENDPOINT= "http://localhost:3001"

and then run

$ npm i && npm audit fix 
$ npm start (the app will run locally on port 3000 by default)

please Clone back-end repository, acquire a JWT secret and store it in config/application.yml and then run the command below in terminal

$ bundle install
$ rails db:create (for creating your PostgreSQL Database on your local computer)
$ rails db:migrate 
$ rails db:seed
$ rails s -p 3001

Contributing

Contributions are welcome, submit a pull request!

Author

License

This project is licensed under the GNU GPL

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.