Coder Social home page Coder Social logo

jennifer / dibs-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mike-crane/dibs-client

0.0 1.0 0.0 6.45 MB

A fullstack javascript application that helps families manage secondary properties that they wish to share with other family members.

Home Page: https://dibs-app.herokuapp.com/

HTML 1.60% JavaScript 80.68% CSS 17.72%

dibs-client's Introduction

Dibs

A fullstack javascript application that helps families manage secondary properties that they wish to share with other other family members. Users can share and reserve properties as well as see monthly availabities of each. Supports basic CRUD operations. Users can:

  • Create - Add properties and reservations
  • Read - Get a list of all properties and reservations
  • Update - Update property info
  • Delete - Delete properties and reservations

Demo

Motivation

Being part of a large family that continues to grow with each new generation, it was becoming increasingly more challenging to share and make the most of secondary properties / vacation homes without stepping on one anothers toes. What was needed was a central system for listing properties to make them available for family members to reserve.

Built With

The client and API were deployed separately and stored in separate GitHub repos.

Front End

  • HTML
  • CSS
  • JavaScript [ES6]
  • React

Back End

  • Node.js
  • Express
  • Mongo
  • Mongoose
  • JWT Authentication
  • bcryptjs
  • Passport
  • Mocha
  • Chai

DevOps

  • Heroku
  • TravisCI
  • mLab

Screenshots

Landing:

landing

Registration:

registration

Dashboard:

dashboard

Reservations:

reservations

Add Property:

add property

Edit Property:

edit property

Using the API

Authentication / Login

POST        /api/auth/login
  • Bearer Authentication with JSON Web Token
  • Must supply valid Username and Password in request header
  • If authentication succeeds, a valid 7d expiry JWT will be provided in response body

Register New User

POST        /api/users
  • Must supply First name, Last name, Username and Password in request body
  • If successful, a valid 7d expiry JWT will be provided in response body

Get All Properties

GET        /api/dibs/properties
  • This endpoint retrieves all properties from user database
  • Must supply valid JWT via Bearer Authentication
  • If authentication succeeds, all properties will be returned

Get All Reservations

GET        /api/dibs/reservations
  • This endpoint retrieves all reservations from user database
  • Must supply valid JWT via Bearer Authentication
  • If authentication succeeds, all reservations will be returned

Get Reservation by User

GET        /api/dibs/reservations/{USER-GOES-HERE}
  • This endpoint retrieves all users reservations from user database
  • Must supply valid JWT via Bearer Authentication
  • If authentication succeeds, all User reservations will be returned

Add Property

POST       /api/dibs/properties
  • This endpoint adds a single property to user database
  • Supply property object in request body
  • Must supply valid JWT via Bearer Authentication

Add Reservation

POST       /api/dibs/reservations
  • This endpoint adds a single reservation to user database
  • Supply reservation object in request body
  • Must supply valid JWT via Bearer Authentication

Update Property

PUT       /api/dibs/properties/{PROPERTY-ID-GOES-HERE}
  • This endpoint updates a single property in user database
  • Supply property ID as route parameter
  • Supply property object in request body
  • Must supply valid JWT via Bearer Authentication

Delete Property

DELETE       /api/dibs/properties/{PROPERTY-ID-GOES-HERE}
  • This endpoint deletes a single property from user database
  • Supply property ID as route parameter
  • Must supply valid JWT via Bearer Authentication

Delete Reservation

DELETE       /api/dibs/reservations/{RESERVATION-ID-GOES-HERE}
  • This endpoint deletes a single reservation from user database
  • Supply reservation ID as route parameter
  • Must supply valid JWT via Bearer Authentication

dibs-client's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.