Git Product home page Git Product logo

lanebreach-frontend's Introduction

LaneBreach Front-end

NOTE: Work on this project has been paused in favor of using a templated solution. We'll revisit this decision at some point in 2020.

This repository contains the front-end application for viewing the data for the lane-breach application.

Build Status (master)

CircleCI

Prerequisite

Packages/Tools

Environment (Optional)

While not at all required, this projecct is optimized for Microsofts Free VSCode IDE and Google's CloudCode plugin for VSCode.

You can download VSCode here:

You will then want to install the CloudCode plugin, which can be done by navigating to the extensions (squares) icon in the lefthand toolbar and searching for it.

You can find more info on all the features here:

Setup Project

Clone the project, cd into it, install dependencies, pick a port and run it. You're now live and ready to code.

git clone https://github.com/lanebreach/frontend.git
cd frontend/src
npm install
PORT=3000 npm run-script dev

Project Operations

Running Locally

PORT=3000 npm run-script dev

The app is now running on localhost:3001.

N.B.: The web-app port for local development is always PORT + 1.

Mimicking Production Locally

To ensure that things will work in production. You can use the included Kubernetes manifests and skaffold file to build the Docker images, and deploy to your one-node K8S cluster running on Docker for Desktop on your machine.

If you have VSCode and the CloudCode plugin installed, simply bring up the Command Pallet (Shift-Command-P [MacOS]) and type Deploy. Hit enter and it will give you options about what cluster to deploy to (if you happen to have more than one configured). Hit enter again and watch the magic begin.

If you stumble into an issue that only seems to be occuring here, you can have CloudCode automatically build and deploy on file change using the Continuous Deploy rather than Deploy option.

Build for Production

Production builds are handled by CircleCI on merge of your feature branch into master. You can find the build scripts in .circle/config.yml file.

More information about the build / deployment can be found in docs/architecture/BuildDeploy.md

Developer Workflow

  1. Check out the project
  2. Make a new feature branch git checkout -b feature/my_feature_name
  3. Make changes
  4. Run tests
  5. Commit with a descriptive message of your changes, ideally with a prefix to the issue number in GitHub you are addressing. E.g.:
#[19]: Refactored code base to mirror build concerns in directory structure. Added build and deploy configuration using CircleCI
  1. Head to GitHub and make a Pull Request
  2. If CircleCI builds and people approve, you can merge to master.
  3. Someone will eventually release the deployment hold, and your changes will roll out live to the main site!

lanebreach-frontend's People

Contributors

andrewpat24 avatar georgeweiler avatar jeff-s-zhou avatar krpeacock avatar mokosha avatar omegabytes avatar timshoaf avatar yubozhao avatar

Watchers

 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.