o(=(=(=(=)=)=)=)o
!!!!!!}!{!!!!!! ___
!!!!!} | {!!!!! / \
!!!!} | {!!!! _!_ () () _!_ | // |
!!!' | '!!! |~@~| ||______________|| |~@~| | |
~@~----+----~@~ |___| | | |___| \___/
!!! | !!! | | ~@@~ | | _________
!!! | !!! ( ) |_______ _______| ( ) |____-____|
!!!____|____!!! __(___)__ {__~@~__}{__~@~__} __(___)__ |____-____|
!!!=========!!! |__-__| %%%%%%%%%%%%%%%%%% |__-__| |____-____|
_!!!_________!!!___|_____|_ %%%%%%%%%%%%%%%%%%%% _|_____|___|____-____|_
| | %%%%%%%%%%%%%%%%%%%%%% | | |/ \|
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/!!!!!!!!!!!!!!!!!!!!!!!!!!!!\
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!lc!!
`======~@~==========~@~======`
`==============================`
`====~@~==================~@~====`
`==================================`
`==~@~==========================~@~==`
| Contributors | Product Description | Demo | Technologies used | How to run locally | Card wall | Wireframes | Team approach | User Stories | Minimum viable product | Edge cases | Future integration |
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.
- 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.
- Run
bundle
- Set-up database using
psql
in command line - Create database
chuckle_hotel
usingCREATE DATABASE
- Create spaces table using the instructions in the db/migrations folder
- Repeat steps 3 and 4 for
chuckle_hotel_test
database
- Type
rerun rackup
in project directory within command line to start the server - Open a browser window and type
localhost:9292
to access the home page
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.).
- 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
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
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
As a user
So that I can keep my password private
I want it to be hashed when it's stored with Chuckle Hotel
- 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
- Sign up with invalid input
- Sign in with invalid input
- Try to access spaces page when logged out
- 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