Skip to content

Latest commit

 

History

History
170 lines (139 loc) · 6.12 KB

README.md

File metadata and controls

170 lines (139 loc) · 6.12 KB

Splitsy

Welcome to Splitsy! A service that allows users to conveniently split restaurant bills!

Table of Contents

Contributers

Milestones

  • Jun 11 Complete and Share with friends
  • Jun 04 Features complete
    • Authorization
    • Browse restaurants
    • Browse Menu
    • Cart
    • Spliting bill
    • User profile
    • Friend list
  • May 21 Project Proposal
  • May 14 Project Start

Technologies

Frontend React React Router Material UI
Backend Node Express MongoDB
Dev Tools Webpack Babel Jest.io
APIs MealMe API
Authentication bcrypt react-cookie

Installation

From within the root directory:

See the example.env file and create a .env file to save mongoose database connection.
Alternatively, change the dbAdress variable within database/index.js to mongodb://localhost:27017/splitsy

$ cd client
$ npm run start

In root directory:
$ npm run server

Go to localhost:3001/

Sample data

In order to use sample data, follow these steps:

  1. Make sure you have MongoDB installed.
  2. Checkout schema in
/database/index.js
  1. Connect to database. In file /database/index.js, change dbAddress as follow:
  • If you use local database.
dbAddress = mongoose.connect('mongodb://localhost:27017/splitsy')
  • If you use EC2 database.
dbAddress = mongodb://[MONGODB USERNAME]:[MONGODB PASSWORD]@[YOUR IP ADDRESS]:27017/splitsy?authSource=admin
  1. From within the root directory (outside Mongo shell), type this command to restore data into your MongoDB:
  • If you use local database.
mongorestore dump-v2/
  • If you use EC2 database. mongorestore dump-v2/ --host=[IP ADRESS OF THE HOST]

Main features

:shipit: Authentication :shipit:
TODO Authentication's description



🍔 Restaurant & Menu 🍖
TODO Restaurant's description


🛒 Cart 🛒
TODO cart's description


💳 Split payment 💳
TODO split payment's description


:bowtie: User profile :bowtie:
TODO User's profile descrpition


Git Feature Workflow

  • Start by switching to the main branch, fetch the latest commit, merge the changes into the local branch

    Run git checkout main then run
    A) git fetch origin and git reset --hard origin/main OR
    B) git pull Run npm install to update packages/depeendences installed by others during merge.
  • 1) starting work on a new widget

    Run git checkout -b new-feature.
    Including the -b flag tells Git to create the branch if it doesn’t already exist.
  • 2) After pulling changes from origin/main

    Run git checkout new-feature and then git merge main. This merges the changes pulled from main into the feature branch (and preserves the full commit history in the log).
  • Update, add, and commit changes, as necessary

    Run git status,
    git add <changed-file>,
    git commit -m "YOUR COMMIT MESSAGE"
  • Push the local commits to the remote of your feature branch

    Run git push -u origin new-feature.
    Including the -u flag adds it as a remote tracking branch. After setting up the tracking branch, git push automatically pushes the new-feature to the central repository.
  • Make pull request (with detail summary of changes made) to merge to main branch on GitHub

  • Move issue ticket to in review column and tag team to request review

  • Team mate performs code review asynchronously

  • Resolve feedback from code review

  • Merge your pull request

Code Reviews

  • Run the changes you are reviewing on your local server

    Run git switch <feature-branch-to-review>. This creates and switches to a local version of the remote branch you are attempting to run and tracks its remote. Then run git pull to pull in the changes to that branch to your local branch.
  • Provide feedback

    Provide feedback on the code you reviewed and merge or leave the pull request open, as necessary.