Coder Social home page Coder Social logo

philxavier / react-base Goto Github PK

View Code? Open in Web Editor NEW

This project forked from terryarbase/react-redux-base

0.0 1.0 0.0 4.25 MB

React-Redux boilerplate

Home Page: https://www.rootstrap.com/

License: MIT License

JavaScript 98.33% HTML 1.01% CSS 0.66%

react-base's Introduction

React Redux Base

Maintainability Test Coverage CircleCI Dependency Status License

Commands

  1. Run the app. yarn start or npm start
  2. Build the app. yarn build or npm run build
  3. Lint the app. yarn lint or npm run lint
  4. Test the app. yarn test or npm run test, for UI option yarn test:open or npm run test:open,
  5. Run the app with SSR. yarn ssr or npm run ssr

Getting Started

  1. Clone the repository
  2. Install dependencies: yarn or npm install
  3. 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
  AWS_BUCKET=bucket
  AWS_REGION=region
  AWS_ACCESS_KEY_ID=key_id
  AWS_SECRET_ACCESS_KEY=secret_key
  1. Start the dev server: yarn start or npm start -s

Running script with different environments

To change the set of environment variables for a script it's needed to run ENV=my_environment before the script.

For example: ENV=staging yarn build

Configuring Code Climate

  1. After adding the project to CC, go to Repo Settings
  2. On the Test Coverage tab, copy the Test Reporter ID
  3. Replace the current value of CC_TEST_REPORTER_ID on the config.yml file (.circleci/config.yml) with the one you copied from CC

Initial Machine Setup

Install Node 7.0.0 or greater, 10.14.2 LTS preferred Project is currently set to node version 10.14.2 LTS. Make sure that you are using the node version specified in the package.json, if you prefer to use a different one you can change it there.

Install Yarn - Fast, reliable, and secure package manager

Redux setup

The base makes use of our redux-tools package. This makes working with, and tracking the status of async side effect easier. Learn more about this in the redux-tools readme.

Server Side Rendering

This base is already set up with a Node server for SSR.

The command yarn ssr will compile the server and client.

Fetching data

The server is prepared to fetch data directly from the backend before rendering the HTML.

Deploying to AWS S3

  1. Add the environment variables for each .env AWS_BUCKET, AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
  2. Run the command to deploy with an environment ENV=your_environment yarn deploy

Deploying to Heroku

  1. Add all the environment variables in .env to Heroku
  2. Add the env variable NPM_CONFIG_PRODUCTION=false to Heroku
  3. Deploy your branch to Heroku

Technologies

Tech Description
React Fast, composable client-side components.
Redux Enforces unidirectional data flows and immutable, hot reloadable store. Supports time-travel debugging.
React Router 5 A complete routing library for React
Babel Compiles ES6 to ES5. Enjoy the new version of JavaScript today.
Webpack 4 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.
Cypress Automated integration tests. Default way of testing.
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-config-airbnb for the airbnb style guides.
SASS Compiled CSS styles with variables, functions, and more.
PostCSS Transform styles with JS plugins. Used to autoprefix CSS
Stylelint Modern CSS linter that helps you enforce consistent conventions and avoid errors in your stylesheets.
Redux Persist Persist and rehydrate your redux store
Immer Allows you to work with immutable state in a more convenient way.
React Intl Localization for language support.
Rootstrap UI Rootstrap UI is the components & styles library to build user interfaces

License

React Redux Base is available under the MIT license. See the LICENSE file for more info.

Credits

React Redux Base is maintained by Rootstrap with the help of our contributors.

react-base's People

Contributors

aguscha333 avatar peter7z avatar bernabe9 avatar constanzacurzio avatar nsantos16 avatar agustito37 avatar fsarachu avatar manema avatar kevquincke avatar dependabot[bot] avatar mcousillas6 avatar mariosouto avatar alealvarez14 avatar felipegarcia92 avatar juanlacu avatar lucia-santos avatar gakindustries avatar xlasserre avatar eugemiran avatar fedeagripa avatar martinjaimem 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.