GithubHelp home page GithubHelp logo

react-challenge-project's Introduction

Shift3 React Challenge Project

This project represents a challenge to test your git flow, programming, and troubleshooting fundamentals. Below you will find instructions on how to complete the challenge, as well as additional information on how to stand up and navigate this project.

Challenge Instructions

You will begin by creating a fork of this repository to your own Github account. All work will be completed and reviewed within your own fork. Please do not create a Pull Request (PR) back into this repository.

Once you have created your fork, review the Issues labeled challenge task HERE. Shift3's standard for branching is as follows:

  • Maintain a master and development (dev) branch on your fork
  • For each new feature (issue), create a branch based off of your dev branch
    • Once your feature has been completed, submit a Pull Request from your feature branch to your dev branch
    • If you have a reviewer on your repository, once your Pull Request has been approved, merge your feature branch back into dev
    • Otherwise, submit the Pull Request and merge it into your dev branch
  • Once the work has been completed, create a Pull Request from the working branch to your master branch and reference the Issue you are working on. These open PRs will be the final submission which Shift3 will review.

Once you are ready to submit your work, send an email to your Shift3 contact with a link to your fork.

Please apply the following Shift3 Standard Practices as you work on this project:

  • Each unit of work (Issue) should be completed within its own branch.
  • Use Karma-style formatting for your Git Commit Messages.
  • Generate a PR for each unit of work (Issue) which is completed. Keep the scope of these PRs as narrow as possible. Try not to create PRs which rely on or contain code from previous PRs unless there is truly a dependency between the two units of work.

Project Information

This is a multi-container docker environment that utilizes Docker to create three seperate but linked containers:

  • MongoDB database
  • Node/Express Server
  • React client

Project Requirements

Running the project

  • After cloning the repo, go into the project's root directory and run docker-compose up. The first time running this the server and client will both go through the build process, but this should only happen once.
  • Your connection target on Mac and Linux is localhost://. For Windows, you will need to run docker-machine ip to find your address to connect to, default is 192.168.99.100:.
  • Database can be found at (target):27017, server at (target):4000, client at (target):3000.

Development process

Shutting down the servers can be done with a Ctrl-C command from your terminal. Alternatively, you can load up Kitematic to close them as well.

If you need to exec into one of the containers, Kitematic has a GUI to do that for you. Otherwise, you will need to run docker ps, find the container ID, and then run docker exec (container_name) -it bash.

Kitematic can also be useful for looking at the logs for one specific container, since all three are tailed in the terminal.

Endpoint testing

The following backend endpoints can be queried via Postman for testing purposes:

  • Login (POST) - (server addr)/api/login (Expects name/password in request body)
  • Current Orders (GET) - (server addr)/api/current-orders
  • Add Order (POST) - (server addr)/api/add-order (Expects ordered_by, quantity, menu_item in request body)
  • Delete Order (POST) - (server addr)/api/delete-order (Expects id in request body)
  • Edit Order (POST) - (server addr)/api/edit-order (Expects id in request body. Will look for ordered_by, quantity, menu_item.)
  • Flush Orders (DELETE) - (server addr)/api/delete-all (This deletes all current orders in the DB)

react-challenge-project's People

Contributors

fleury14 avatar kmausolf avatar coreyshuman avatar ryeker-herndon-lark avatar

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.