Skip to content

Group project within week 5 of Makers Academy course

Notifications You must be signed in to change notification settings

Farzan-I/chuckle-hotel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

o(=(=(=(=)=)=)=)o
 !!!!!!}!{!!!!!!                                                ___ 
 !!!!!} | {!!!!!                                               /   \
 !!!!}  |  {!!!!     _!_     ()              ()     _!_       | //  |
 !!!'   |   '!!!    |~@~|    ||______________||    |~@~|      |     |
 ~@~----+----~@~    |___|    |                |    |___|       \___/
 !!!    |    !!!      |      |      ~@@~      |      |       _________
 !!!    |    !!!     ( )     |_______  _______|     ( )     |____-____|
 !!!____|____!!!  __(___)__  {__~@~__}{__~@~__}  __(___)__  |____-____|
 !!!=========!!!   |__-__|   %%%%%%%%%%%%%%%%%%   |__-__|   |____-____|
_!!!_________!!!___|_____|_ %%%%%%%%%%%%%%%%%%%% _|_____|___|____-____|_
                   |     | %%%%%%%%%%%%%%%%%%%%%% |     |   |/       \|
                          %%%%%%%%%%%%%%%%%%%%%%%%
                         %%%%%%%%%%%%%%%%%%%%%%%%%%
                        %%%%%%%%%%%%%%%%%%%%%%%%%%%%
                       /!!!!!!!!!!!!!!!!!!!!!!!!!!!!\
                       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
                       !!!!!!!!!!!!!!!!!!!!!!!!!!lc!!
                       `======~@~==========~@~======`
                      `==============================`
                     `====~@~==================~@~====`
                    `==================================`
                   `==~@~==========================~@~==`

Chuckle Hotel

| Contributors | Product Description | Demo | Technologies used | How to run locally | Card wall | Wireframes | Team approach | User Stories | Minimum viable product | Edge cases | Future integration |

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 (name our own choice). Within a team of 4 developers, we created this version that we're proud to present. The background of the page is a dynamic movement that changes between different shades of purple/violet. This could not be previewed in this document unfortunately.

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 Chuckle Hotel

Minimum viable product (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 integration

  • 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

Group project within week 5 of Makers Academy course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published