React web frontend for our backend API.
- ES6 - the new Javascript standard
- Webpack - module bundler
- React - the best UI framework, written by Facebook
- Bootstrap - reusable UI elements from Twitter
- LESS - pre-processor for CSS
- Mochai, Chai - unit tests
- dependencies are in
package.json
build
- Javascript and CSS bundlessrc
components
- React components and LESS files for each componentlib
- Helper librariesmixins
- React mixinsmain.jsx
- Main entry point with the router
index.production.html
- Index file w/ settings for productionindex.staging.html
- Index file w/ settings for stagingindex.development.html
- Index file w/ settings for developmentProcfile
- The command in this file is used by Heroku to run the serverapp.json
- Manifest file for Heroku that defines how your code should be built and bootstrapped into a live applicationbuild.sh
- Used by the npm build targets. Copies the right index file in the build folder and creates a bundle based on the environment provided as parameterautodeploy.sh
- Checks out and deploys the latest releaseserver.*.js
- Script that spins up an Express server.webpack.*.js
- Configuration for Webpack.Gulpfile.js
- Project tasks. Currently we have linting.karma*.config.js
- Configuration for unit tests.
npm install
npm start
gulp
- lints the codenpm run build
- bundles the code for production deployingnpm test
- run tests using PhantomJSnpm run test-debug
- run tests using Google Chrome and enable js debugger
There are two docker images built from the source. A production one and a staging one. They are published on Docker Hub.
When new code is pushed to any of the two branches the corresponding images are built.
We don't support versions lower than IE10 because we use flexbox in a small part of the homepage.