Skip to content

simon-2357/chuckle_brothers_bnb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chuckle Brothers BnB

Contributors


Project Description


First engineering group project during Week 5 of the Makers hybrid course, we were tasked with developing an AirBnB clone, known as Chuckle Hotel BnB (name our own choice). Within a team of 4 developers we developed this version that we're proud to present.

Demo


Home page

home

Log in page

log_in

Signed in/Spaces page

signed_in/spaces

Space 1 information page

space1_info

Requested a booking page

thank_you_message

Host page

host_page

Create space page

create_space

Approve/Reject request page

approve_reject

Accepting request page

accepting_request

Rejecting request page

rejecting_request

Rejecting request page

rejecting_request

Log out success flash message on home page

log_out_success

Error flash message on home page

error_message

Technologies Used


  • Ruby web framework.
  • Sinatra creating web applications using Ruby.
  • PostgreSQL to store our data.
  • Capybara to test our framework.
  • Rubocop for linting.
  • Rspec for testing our backend code.
  • CSS for styling of the webpages.
  • Balsamiq for wireframing.
  • Trello for assigning tickets within the team.

How to run locally


Set-up Project

  1. Run bundle
  2. Set-up database using psql in command line
  3. Create database chuckle_hotel using CREATE DATABASE
  4. Create spaces table using the instructions in the db/migrations folder
  5. Repeat steps 3 and 4 for chuckle_hotel_test database

Set-up Website

  1. Type rerun rackup in project directory within command line to start the server
  2. Open a browser window and type localhost:9292 to access the home page

Card wall


We used a Trello board to keep track of the features we want to implement. We organised tickets amongst the team and moved the tickets accordingly to demonstrate at what stage that feature's at (To do/In progress/In review etc.).

Wireframes


Home page concept

Wireframe 1

View a space concept

Wireframe 2

Add a space concept

Wireframe 3

Add space details concept

Wireframe 4

Host can accept/reject concept

Wireframe 5

User can request to book a space concept

Wireframe 6

Host can update space availability concept

Wireframe 6

User can only book available dates concept

Wireframe 6

Team approach


  • Standups every morning at 10:00am
  • Retro at 5:30pm every evening
  • Pair programming throughout the entire project (driver/navigator roles)
  • Regular check-ins with team members to make sure nobody was left behind
  • Trello board for distributing work and staying on track

User Stories


Login/out

As a user
So that I can interact with the website
I want to be able to log in
As a user
So that I can prevent anyone else from using my account
I want to be able to log out
As a host
So that I can list my space
I want to be able to create an account
As a guest
So that I can book a space
I want to be able to create an account

Space functionality

As a host
So that I can allow my spaces to be booked
I want to be able to set a range of available dates
As a host
So that I can decide whether to allow users to book my space
I want to be able to approve or deny a booking request
As a host
So that I can list my space on the website
I want to fill in the details of my space and submit
As a guest,
So that I can stay the night in a space
I want to be able to send a booking request
As a user
So that I can decide whether to hire a space
I want to be able to see the details of the space
As a user
So that I can choose whether to hire a space
I want to be able to view the available spaces
As a user
So that I can list my own spaces
I want to be able to create a space from my own account

User privacy

As a user
So that I can keep my password private
I want it to be hashed when it's stored with ChuckleH

MVP


  • User can sign up, log in and log out
  • User can view an available space
  • User can view an available space's details
  • User can list a space
  • User can request to hire a space

Edge cases


  • Sign up with invalid input
  • Sign in with invalid input
  • Try to access spaces page when logged out

Future improvements


  • User cannot sign up with an already used email
  • Spaces can have a picture uploaded to them to show what a user can book
  • User can only book available dates (user story below)
As a user
So I can only book available properties
I want to see an error message if the date I select is unavailable
  • Host can update space availability (user story below)
As a host
So that I can change availability of my spaces
I want to be able to update availability after a space has been created

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •