Skip to content

An app to make a list of all your favorite drinks

Notifications You must be signed in to change notification settings

sughandj/Drinkterest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoftwareChallenge


Drinkterest

An app to make a list of all your favorite beers


Table of Contents


Description

Drinkterest is an app to browse beers (compiled by BreweryDB) and favorite them.

screenshot

Here is how you can use the app:

  1. When you start the app for the first time, you will see Sign In page.
  2. Since you don't have an account, click on the Sign Up button to create one.
  3. Enter the credentials and click on Submit.
  4. Now you can Sign In with those credentials.
  5. After signing in, you will see the Browse section. Here you can search and check out the beers that are compiled by BreweryDB.
  6. Click on the Favorite button of one of the beers you like!
  7. Now go to the Favorites section (on the Navbar) to view the beers you have favorited.
  8. Finally, you can Sign Out of the app by clicking on your username dropdown (on the Navbar).
  9. When you log back in next time, your data is persisted.

Technology

Backend

Node.js - For its efficient light-weight backend and easy integrations with other libraries.
Express - To create a quick and robust API.
Express-Session - Session middleware (Express) used for authentication.
Express-Validator - Input validation and sanitization middleware (Express)
Crypto - Used to hash and store password securely.
NeDB - Embedded persistent database for Node.js (Easy for development but would use a mature DB in production like PostgreSQL or MongoDB).
NeDB-Session-Store - Session store for persistent authentication.

Frontend

React - For real-time updates to the UI elements with high performance.
Bootstrap 4 - For responsive pages that will look great on any device.
throttle-debounce - To debounce search query in Browse section.
Jest - JavaScript Testing utility for React.
Chai - Assertion library for Node testing.
Sinon - Standalone test spies, stubs and mocks for JavaScript.


Installation

Tested on Mac OSX (High Sierra) and Ubuntu 16.04.
Pre-requisites - Latest version of node and npm.

Dev mode

  1. Clone the repo.
  2. Open a Terminal window.
  3. Run cd Drinkterest/server
  4. Run npm install to install all the packages necessary for the server.
  5. Run node server.js
  6. Open a new Terminal window.
  7. Run cd Drinkterest/client
  8. Run npm install to install all the packages necessary for the client.
  9. Run npm start
  10. This should automatically open up browser and run the app on http://localhost:3000/

Test

  1. Open a new Terminal window.
  2. Run cd Drinkterest/client
  3. Run npm run test

About

An app to make a list of all your favorite drinks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published