Skip to content
🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.
Branch: master
Clone or download
13 authors Merge pull request #2632 from react-boilerplate/dev
The Big 4.0!

Co-authored-by: Sara Federico <gretzky@users.noreply.github.com>
Co-authored-by: Paolo Mariotti <pmariott@gmail.com>
Co-authored-by:  <thaur.yang@gmail.com>
Co-authored-by: Tan Nguyen <Tannd1993@gmail.com>
Co-authored-by: Jon Winn <jwinn@users.noreply.github.com>
Co-authored-by: paulogdm <paulogdemitri@gmail.com>
Co-authored-by: Marcellin Nshimiyimana <mn2587@columbia.edu>
Co-authored-by: Ryan Swart <serjndestroy@gmail.com>
Co-authored-by: Benedikt Franke <benedikt@franke.tech>
Co-authored-by: Khayyam Saleem <khayyam.saleem@gmail.com>
Co-authored-by: Vladimir Cibizov <vladimir.tsibizow@gmail.com>
Co-authored-by: Al-un <alun.sng@gmail.com>
Co-authored-by: Larry <lsanders@gmail.com>
Latest commit d19099a Apr 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Many updates to the project contribution setup/docs (#2595) Mar 7, 2019
app Getting ready for release (#2625) Apr 18, 2019
docs Generator and documentation updates for Hooks (#2622) Apr 15, 2019
internals Support for .jsx files (#2635) Apr 18, 2019
server Webpack updates (#2382) Oct 24, 2018
.all-contributorsrc Many updates to the project contribution setup/docs (#2595) Mar 7, 2019
.editorconfig Improve .editorconfig, change insert_final_newline to true, add trim_… Dec 8, 2016
.eslintrc.js Maintenance work (#2618) Apr 8, 2019
.gitattributes docs(servers): update server conf files for offline-first per #645 (#… Jan 14, 2017
.gitignore Addresses #203 Apr 6, 2016
.nvmrc Updated dependencies (#2494) Nov 26, 2018
.prettierignore ESLint upgrade + Prettier (#2244) Jun 21, 2018
.prettierrc Removal of node 6 support means a return of the newer trailing commas Jun 21, 2018
.stylelintrc Stylelint setup + other dependency upgrades Jun 21, 2018
.travis.yml Dependency upgrades and fixes (#2374) Oct 24, 2018
CODE_OF_CONDUCT.md Many updates to the project contribution setup/docs (#2595) Mar 7, 2019
CONTRIBUTING.md Many updates to the project contribution setup/docs (#2595) Mar 7, 2019
Changelog.md Getting ready for release (#2625) Apr 18, 2019
LICENSE.md Many updates to the project contribution setup/docs (#2595) Mar 7, 2019
README.md Getting ready for release (#2625) Apr 18, 2019
appveyor.yml Why do we need chrome in appveyor? chocolatey fails all the time Nov 7, 2018
babel.config.js Babel-plugin-lodash only needed in production Oct 24, 2018
jest.config.js Move tests cleanup to Jest config (#2612) Apr 1, 2019
package-lock.json Getting ready for release (#2625) Apr 18, 2019
package.json Getting ready for release (#2625) Apr 18, 2019

README.md

react boilerplate banner


Start your next react project in seconds
A highly scalable, offline-first foundation with the best DX and a focus on performance and best practices


Created by Max Stoiber and maintained with ❤️ by an amazing team of developers.

Features

Quick scaffolding
Create components, containers, routes, selectors and sagas - and their tests - right from the CLI!
Instant feedback
Enjoy the best DX (Developer eXperience) and code your app at the speed of thought! Your saved changes to the CSS and JS are reflected instantaneously without refreshing the page. Preserve application state even when you update something in the underlying code!
Predictable state management
Unidirectional data flow allows for change logging and time travel debugging.
Next generation JavaScript
Use template strings, object destructuring, arrow functions, JSX syntax and more.
Next generation CSS
Write composable CSS that's co-located with your components for complete modularity. Unique generated class names keep the specificity low while eliminating style clashes. Ship only the styles that are on the page for the best performance.
Industry-standard routing
It's natural to want to add pages (e.g. `/about`) to your application, and routing makes this possible.
Industry-standard i18n internationalization support
Scalable apps need to support multiple languages, easily add and support multiple languages with `react-intl`.
Offline-first
The next frontier in performant web apps: availability without a network connection from the instant your users load the app.
Static code analysis
Focus on writing new features without worrying about formatting or code quality. With the right editor setup, your code will automatically be formatted and linted as you work.
SEO
We support SEO (document head tags management) for search engines that support indexing of JavaScript content. (eg. Google)

But wait... there's more!

  • The best test setup: Automatically guarantee code quality and non-breaking changes. (Seen a react app with 100% test coverage before?)
  • Native web app: Your app's new home? The home screen of your users' phones.
  • The fastest fonts: Say goodbye to vacant text.
  • Stay fast: Profile your app's performance from the comfort of your command line!
  • Catch problems: AppVeyor and TravisCI setups included by default, so your tests get run automatically on Windows and Unix.

There’s also a fantastic video on how to structure your React.js apps with scalability in mind. It provides rationale for the majority of boilerplate's design decisions.

Keywords: React.js, Redux, Hot Reloading, ESNext, Babel, react-router, Offline First, ServiceWorker, styled-components, redux-saga, FontFaceObserver

Quick start

  1. Make sure that you have Node.js v8.15.1 and npm v5 or above installed.
  2. Clone this repo using git clone --depth=1 https://github.com/react-boilerplate/react-boilerplate.git <YOUR_PROJECT_NAME>
  3. Move to the appropriate directory: cd <YOUR_PROJECT_NAME>.
  4. Run npm run setup in order to install dependencies and clean the git repo.
    At this point you can run npm start to see the example app at http://localhost:3000.
  5. Run npm run clean to delete the example app.

Now you're ready to rumble!

Please note that this boilerplate is production-ready and not meant for beginners! If you're just starting out with react or redux, please refer to https://github.com/petehunt/react-howto instead. If you want a solid, battle-tested base to build your next product upon and have some experience with react, this is the perfect start for you.

Documentation

Contributors

Thanks goes to these wonderful people (emoji key):

Max Stoiber
Max Stoiber

💻 📖 🤔 👀 ⚠️
Julien Benchetrit
Julien Benchetrit

💻 💬 📖 👀 🚧
Sara Federico
Sara Federico

💻 👀 💬 📖 🚧
Justin Greenberg
Justin Greenberg

💻 👀
Jon Winn
Jon Winn

💻 👀
Johan Meester
Johan Meester

💻 ⚠️ 📖
Yaroslav Kiliba
Yaroslav Kiliba

💻
Glen Ihrig
Glen Ihrig

💻
Somasundaram Ayyappan
Somasundaram Ayyappan

💻
Oliver Turner
Oliver Turner

💻
Samuel Sharpe
Samuel Sharpe

💻
Mihir Karandikar
Mihir Karandikar

💻
Vaibhav Verma
Vaibhav Verma

💻
Sébastien Dubois
Sébastien Dubois

💻
Chainarong Tangsurakit
Chainarong Tangsurakit

💻
Amila Welihinda
Amila Welihinda

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Supporters

This project would not be possible without the support of these amazing folks. Become a sponsor to get your company in front of thousands of engaged react developers and help us out!


License

This project is licensed under the MIT license, Copyright (c) 2019 Maximilian Stoiber. For more information see LICENSE.md.

You can’t perform that action at this time.