Giter Club home page Giter Club logo

fair_bnb's Introduction

Fairbnb

schema pic

View it live at: https://fair-b-n-b.herokuapp.com/

Admin Analytics Dashboard build with Dimple.js and D3 analtics pic

Overview

The goal of this project was to 'clone' the base functionality of Airbnb.

Setup

To set up a local copy of this project, perform the following:

run Bundle

run rake db:reset

run bundle exec figaro install & add keys to config/application.yml:

GOOGLE_CLIENT_ID: <KEY>
GOOGLE_CLIENT_SECRET: <SECRET_KEY>
FACEBOOK_KEY: <KEY>
FACEBOOK_SECRET: <SECRET_KEY>
GOOGLE_MAP_KEY: <KEY>
WEATHER_KEY: <KEY>
test:
  GOOGLE_USER_TOKEN:
  FACEBOOK_USER_TOKEN:

Internal API

The following api endpoints are available:

For users

/api/v1/users/money/most_revenue lists users who have made the most money as property owners based on reservation income. Can take a limit param, default is 10 users.

/api/v1/users/money/most_spent lists users who have spent the most money on reservations. Can take a limit param, default is 10.

/api/v1/users/properties/most_properties lists users who have the most properties listed that they are the owner of. Can take a limit param, default is 10.

/api/v1/users/reservations/bookings lists users who have made the most reservations. Can take a limit param, default is 10.

/api/v1/users/reservations/nights lists users who have booked the most number of nights. Can take a limit param, default is 10.

For reservations

/api/v1/reservations/by_month lists count of reservations by month. Can take a city param, that scopes to reservations by month for that city, default is for all reservations.

Design

Test Suite

  • The test suite tests the application on multiple levels. To run all of the tests, run rspec from the terminal in the main directory of the project. The feature tests (integration tests) rely mainly on the capybara gem for navigating the various application views.

Dependencies

  • This application depends on many ruby gems, all of which are found in the Gemfile and can be installed by running bundle install from the terminal in the main directory of the project.

Sending email

Redis:

$ redis-server

if you don’t already have redis, install it with homebrew:

$ brew update && brew install redis

Then run redis-server.

Before pushing to heroku:

run: '$ heroku addons:create heroku-redis:hobby-dev -a app_name'

add to cable.yml file

production: adapter: redis url: redis://h:p97f4ddb2aacd4224b4efb3eac4626d36a8f4223fbb0b100f7c6a48c008ca3328@ec2-34-195-166-91.compute-1.amazonaws.com:29559

Article Heroku Redis

Contributors

Brett Schwartz
Colleen Ward
Sam Landfried
Sergey Lukyanenko

fair_bnb's People

Contributors

bschwartz10 avatar lao9 avatar victoriavasys avatar caward12 avatar slague avatar bethknight1234 avatar samlandfried avatar ebassity avatar ryt11 avatar lukyans avatar

Watchers

 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.