- Run the app.
yarn start
ornpm start
- Build the app.
yarn build
ornpm run build
- Lint the app.
yarn lint
ornpm run lint
- Test the app.
yarn test
ornpm run test
- Clone the repository
- Install dependencies:
yarn
ornpm install
- Create the environment variables files in root folder(.env.dev, .env.staging and .env.prod):
.env.example
example:
API_URL=http://your-api-url.com
CABLE_URL=wss://your-api-url.com/cable
- Start the dev server:
yarn start
ornpm start -s
Install Node 4.0.0 or greater - (6.0 or greater is recommended for optimal build performance). Need to run multiple versions of Node? Use nvm.
Install Yarn - Fast, reliable, and secure package manager
- Install AWS CLI
- Configure AWS with the command
aws configure
- Set the buckets for your app in the script
/tools/deployS3.js
- Run the command to deploy
npm run deploy:staging
ornpm run deploy:production
Tech | Description |
---|---|
React | Fast, composable client-side components. |
Redux | Enforces unidirectional data flows and immutable, hot reloadable store. Supports time-travel debugging. |
React Router | A complete routing library for React |
Babel | Compiles ES6 to ES5. Enjoy the new version of JavaScript today. |
Webpack | Bundles npm packages and our JS into a single file. Includes hot reloading via React Hot Loader. |
Express | Fast, unopinionated, minimalist web framework for node. |
Jest | Automated tests with built-in expect assertions and Enzyme for DOM testing without a browser using Node. |
ESLint | Lint JS. Reports syntax and style issues. Using eslint-plugin-react for additional React specific linting rules. |
SASS | Compiled CSS styles with variables, functions, and more. |
PostCSS | Transform styles with JS plugins. Used to autoprefix CSS |
Editor Config | Enforce consistent editor settings (spaces vs tabs, etc). |
npm Scripts | Glues all this together in a handy automated build. |
Stylelint | Modern CSS linter that helps you enforce consistent conventions and avoid errors in your stylesheets. |
LocalForage | Fast and simple storage library, improves the offline experience of your web app by using asynchronous storage (IndexedDB or WebSQL) |
ReduxForm | Redux-form works with React Redux to enable an html form in React to use Redux to store all of its state. |
Isomorphic Fetch | Is a Promise-based mechanism for programatically making web requests in the browser. |
Validate.js | Provides a declarative way of validating javascript objects. |
Humps | Underscore-to-camelCase converter (and vice versa) for strings and object keys in JavaScript. |
Immutable.js | Immutable persistent data collections for Javascript which increase efficiency and simplicity. |