EllyChanx / makersbnb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

makersbnb

## Headline specifications

Any signed-up user can list a new space. Users can list multiple spaces. Users should be able to name their space, provide a short description of the space, and a price per night. Users should be able to offer a range of dates where their space is available. Any signed-up user can request to hire any space for one night, and this should be approved by the user that owns that space. Nights for which a space has already been booked should not be available for users to book that space. Until a user has confirmed a booking request, that space can still be booked for that night.

User Stories

As a property owner
So I can make some extra money
I would like to list my space on iStay

As a property owner
So I can rent out my second and third properties
I would like to list multiple properties on iStay

As a property owner
So I can attract attention to my property
I would like to customise my properties page (name, description, price)

As a property owner
So I can properly manage my property on iStay
I would like to offer a range of days where my property is available

As a renter
So I can properly plan my holiday
I would like to only see properties that are available to stay in

As a renter
So I can stay in a city I don't live in,
I would like to book a night at a property

As a property owner
So I can ensure the property is ready to stay in
I would like to approve a booking

As a property owner
Until I have confirmed a booking request
I would like my property to remain listed and bookable

how to run the programme:

  • npm install
  • set up database (give instructions)
  • node app.js
  • navigate to localhost://3000

stuff to remember

One night stay user says the date they want only sees list of properties available.

database tables / fields

SPACE: spaceID (unique) userID (unique) picture url ()????) name description price/ Nights d1(date) d1 status(available, requested, booked) d2(date) d2 status(available, requested, booked) d3 (date) d3 status(available, requested, booked)

USER: userID (unique) name email(unique) password

technologies


  • javascript
  • jasmine
  • jquery
  • html / css
  • mongo
  • concurrently (multiple terminal windows)
  • dotenv

engineering project req.

Testing requirements

90% or greater test coverage. Unit tests: test one piece of your own logic. fail if that logic breaks. pass if it that logic produces the expected result. You can articulate why any test exists (or does not exist). Every feature is tested from the user's perspective.

Good distribution of work

Your team co-owns the code. Every member of the team can: explain why any part of the application exists (what user need it solves). explain how any aspect of the application works. Every member of the team has made commits. Every completed ticket has a closed (or merged) Pull Request.

Quality of work

Commit messages are clear and composed of: a single line describing the changes made. a description of the problem it solves, with reference to the user. The Linter passes on all commits. All commits have a low complexity score. All pull requests are peer reviewed.

Documentation

There is up-to-date documentation: a project description. how to install and run it. how to run tests.

About


Languages

Language:JavaScript 90.4%Language:HTML 5.0%Language:CSS 4.5%