Starter kit for universal full–fledged React apps. One stack for browser, mobile, server.
JavaScript Other
Latest commit b014206 Dec 3, 2016 @andyhu andyhu committed with steida Update .eslintrc (#1262)
Make it a valid JSON file
Permalink
Failed to load latest commit information.
android react-native-vector-icons 3.0.0 Oct 29, 2016
firebase redux-observable ftw Oct 25, 2016
flow-typed/npm Update flow-typed Nov 17, 2016
gulp RN 0.39, Close #1258 Dec 2, 2016
ios RN 0.39, Close #1258 Dec 2, 2016
messages Close #1219 Nov 6, 2016
src Add comment explaining algebraic types Nov 29, 2016
webpack Update deps, jest and eslint-config-airbnb Nov 13, 2016
.babelrc removed 'transform-react-inline-elements' Jul 26, 2016
.buckconfig Upgrade to React and React Native May 25, 2016
.editorconfig New universal Este initial commit Oct 13, 2015
.eslintignore Remove unused dir from .eslintignore Sep 5, 2016
.eslintrc Update .eslintrc (#1262) Dec 3, 2016
.flowconfig RN 0.39, Close #1258 Dec 2, 2016
.gitattributes New universal Este initial commit Oct 13, 2015
.gitignore RN 0.39, Close #1258 Dec 2, 2016
.node-version Node.js v6.9.1 LTS Oct 25, 2016
.watchmanconfig New universal Este initial commit Oct 13, 2015
ISSUE_TEMPLATE .github dir is too much ceremony May 13, 2016
LICENSE New directories Sep 19, 2015
Procfile New universal Este initial commit Oct 13, 2015
README.md Update README.md Nov 14, 2016
circle.yml Ups, add missing gulp to-html Nov 5, 2016
firebase.json Update firebase.json for new cli tool May 27, 2016
gulpfile.babel.js Ups Jul 28, 2016
index.android.js Add native main.js May 9, 2016
index.ios.js Add native main.js May 9, 2016
package.json RN 0.39, Close #1258 Dec 2, 2016
yarn.lock RN 0.39, Close #1258 Dec 2, 2016

README.md

Este.js

Circle CI Join the chat at https://gitter.im/este/este Dependency Status GitHub license

Starter kit for universal full–fledged React apps. One stack for browser, mobile, server.

You don't have to start with everything. Este is perfect even for plain static pages. You can gracefully add any platform later. Este mission is simple: Help startups to deliver minimal valuable product asap with the state of the art real-time universal app stack.

Pokud máte zájem o školení JavaScript, React.js, nebo Este.js, podívejte se na javascript-skoleni.cz.

Techniques

  • Universal architecture
    • code shared across platforms (browser, server, native mobile)
    • server side rendering or server-less pre-rendering to HTML files
    • universal internationalization
    • universal crash reporting
    • universal data fetching
    • universal forms with universal validation
    • universal ftw
  • Immutable app state
  • Stateless functional UI components with JavaScript styles
  • Flowtype
  • Vanilla hot reloading makes everything hot reloadable
  • Firebase integration (este.firebaseapp.com)
    • email and facebook login
    • declarative queryFirebase higher order component for Firebase imperative API
    • users presence

Libraries

Prerequisites

  • node.js Node 6+
  • gulp npm install -g gulp
  • git git cmd tool is required

Optional

If you are using different node versions on your machine, use nvm to manage them.

Create App

git clone
cd este-app
npm install

Start Development

  • run gulp
  • point your browser to localhost:3000
  • build something beautiful

React Native: Getting Started

Dev Tasks

  • gulp run web app in development mode
  • gulp ios run iOS app in development mode
  • gulp android run Android app in development mode
  • gulp -p run web app in production mode
  • gulp -f run web app in development mode, but only browser source rebuilds on file changes
  • gulp jest run jest tests
  • gulp jest-watch continuous test running for TDD
  • gulp eslint eslint
  • gulp eslint --fix fix fixable eslint issues
  • gulp messages-extract extract messages for translation
  • gulp messages-check check missing and unused translations
  • gulp messages-clear remove unused translations
  • gulp favicon create universal favicon

Production Tasks

  • gulp build -p build app for production
  • npm test run all checks and tests
  • node src/server start app, remember to set NODE_ENV
  • gulp to-html render app to HTML for static hosting like Firebase
  • gulp deploy-heroku deploy Heroku app
  • gulp deploy-firebase deploy Firebase app
  • gulp deploy-firebase-database deploy Firebase database only

Customize Este App

  • set name in package.json
  • set locales, firebaseUrl, sentryUrl, etc. in src/server/config.js
  • change src/common/app/favicons/original/favicon.png, then gulp favicon and gulp -p
  • modify your FB app_id e.g. for iOS

Links

Tips

  • Recommended editor is Atom. Check settings.
  • Install nuclide.io, enable "Use the Flow binary included in each project".

Credit

Made by Daniel Steigerwald and the community.