Skip to content

Site where users can rent and list spaces. Ruby, Sinatra, HMTL, CSS, Bootstrap, ERB, PostgreSQL, Capybara, RSpec. First Makers software engineering project.

Notifications You must be signed in to change notification settings

malachispencer/makers-bnb

Repository files navigation

Makers BnB

Website where users can list or rent spaces.

Technologies Used

Technologies
Front End HTML, CSS, Bootstrap, ERB
Back End Ruby, Sinatra, PostgreSQL
Testing Capybara, RSpec

Usage

  1. Visit the MakersBnB website.
  2. Curious to see what's on MakersBnB before signing up? Check out the inventory of listings with the link below the sign up form.
  3. To make a booking request, or list your own space, sign up!
  4. For the best user experience, use MakersBnB in Chrome, Firefox or Edge!

Setting Up The Database

  1. Connect to psql in the command line.
  2. Create the database using the command CREATE DATABASE "makers_bnb";.
  3. Connect to the newly created database using \c makers_bnb.
  4. Run the queries saved in the files in db/migrations to set up the appropriate tables.
  5. To set up the test database, repeat steps 2 and 3 in psql with makers_bnb_test.

Running The Application

  1. Ensure the database is set up using the Setting Up The Database instructions above.
  2. Run rackup in the command line.
  3. Go to localhost:9292 in Google Chrome or Mozilla Firefox.

Running The Tests

  1. Ensure the test database is set up using the Setting Up The Database instructions above.
  2. Ensure you are in the project root on the command line.
  3. Run rspec in the command line.

User Stories

Trello User Stories Board

As a user
so that I can see all/list properties 
I would like to be able to sign up for Makers BNB
As a user
so that I can find a property, 
I would like to be able to see a list of all properties I can book
As a user, 
so that I can list a property, 
I would like to be able to become a 'host'
As a user, 
so that I can have a place to stay, 
I would like to be able book a property
As a user, 
so that I can confirm my booking, 
I would like to receive a confirmation from the host
As a host, 
so that I can manage all my properties, 
I would like to be able to add multiple properties
As a host, 
so a user can book my space, 
I would like to provide details about my space(description, price, location)
As a host, 
so that users can book my property, 
I would like to be able to approve the request

Our Process

As a team, we felt that in order to execute on the project efficiently, we needed a solid idea of what our vision for the project was. How would we go about building MakersBnB? What would the database architecture look like? What pages did we need in order to meet the criteria in the user stories? Without having all of these questions - and many, many more - answered and agreed upon before we started to implement, our individual efforts may diverge quickly.

As such, we spent the whole of Monday and part of Tuesday planning and diagramming the backend of the project. We felt it was important to keep things as simple as possible while ensuring that we met the specifications in the user stories. We kept our solution down to 3 classes and 3 database tables.

Model Diagrams

CRC Cards

model_diagram_01

Initial CRC Cards displaying all tables of the makers_bnb database

Class Diagram

Screenshot 2020-11-24 at 10 58 46

Initial Class Diagram created during the planning session, containing all three classes used.

Flowchart as User/Host

Screenshot 2020-11-24 at 11 24 37

Flowchart representing the initial planning for a simple workflow of a host

Flowchart as User/Guest

Screenshot 2020-11-24 at 11 10 56

Flowchart representing the initial planning for a simple workflow of a guest

Test Suite

Screenshot 2020-11-27 at 14 41 24

RSpec test suite (including coverage)

Makers BnB Views

Sign Up Page

Screenshot 2021-01-31 at 15 15 07

User Dashboard

Screenshot 2021-01-31 at 14 53 57

Listings

Screenshot 2021-01-31 at 15 09 12

About

Site where users can rent and list spaces. Ruby, Sinatra, HMTL, CSS, Bootstrap, ERB, PostgreSQL, Capybara, RSpec. First Makers software engineering project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published