Starter kit for universal full–fledged React apps. One stack for browser, mobile, server.
JavaScript Other
Latest commit a1f5baf Jan 6, 2017 @steida steida committed on GitHub Add Fela to readme
Thank you Robin Frischmann!
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 Webpack2 Close #1248 (#1285) Jan 5, 2017
gulp Consistent flow type annotation Jan 5, 2017
ios RN 0.39, Close #1258 Dec 2, 2016
messages Fela (#1281) Jan 1, 2017
src Clean obsolete todos in code Jan 5, 2017
webpack Consistent flow type annotation Jan 5, 2017
.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 Radio button (#1284) Jan 4, 2017
.flowconfig Fela (#1281) Jan 1, 2017
.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 Add Fela to readme Jan 6, 2017
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 Webpack2 Close #1248 (#1285) Jan 5, 2017
yarn.lock Webpack2 Close #1248 (#1285) Jan 5, 2017

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 with immutable app state
    • 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 components with universal styles (soon!)
  • stateless functional UI with dynamic typed styles
  • flowtype FTW
  • 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.