Awesome
RFX Stack
Universal App featuring:
React + Feathers + MobX
Changelog & Documentation
See the Changelog or the Documentation for all the details.
Main Features
- Hot-Reloadable MobX Stores
- Action Dispatcher for Stateless Components
- Server Side Rendering (SSR)
- Reactive UI & Media Queries
- React Hot Loader 3
- React Stateless Components
- Isomorphic Fetch/Socket
- Multi Platform Ready
- Real Time Ready
- Microservices Ready
- Functional & Modular CSS
- Webpack 2 w/ code-splitting
Main Libs
Name | Description | ||
---|---|---|---|
react | View Layer | GitHub ➜ | NPM ➜ |
react-router | Routing | GitHub ➜ | NPM ➜ |
mobx | State Management | GitHub ➜ | NPM ➜ |
feathers | Server, CRUD & Data Transport | GitHub ➜ | NPM ➜ |
postcss | Styling | GitHub ➜ | NPM ➜ |
browser-sync | Live Browser Syncing | GitHub ➜ | NPM ➜ |
mobx-react-form | Forms Management | GitHub ➜ | NPM ➜ |
babel | Javascript Transpiler | GitHub ➜ | NPM ➜ |
webpack 2 | Javascript Bundler | GitHub ➜ | NPM ➜ |
eslint | Code Linter | GitHub ➜ | NPM ➜ |
eslint-config-airbnb | Code Style Guide & Rules | GitHub ➜ | NPM ➜ |
electron | Cross platform desktop app | GitHub ➜ | Website ➜ |
Quick Setup
Run a local MongoDB instance (port 27017) before start the server. Install MongoDB
ENV: Development
npm install
Run each script in different terminals.
npm run api:dev
npm run web:dev
Run the seed app or the web app after the api app is running.
npm run seed:dev
ENV: Production
npm install
Build
npm run build:client:web
npm run build:server:web
npm run build:server:api
Run
npm run api:prod
npm run web:prod
Electron App
Click here to see how to setup the electron app
Getting started with RFX Stack
- Ten minute introduction to MobX and React
- State Management and Hydration with MobX for SSR
- Functional CSS - The Good, The Bad, and Some Protips for React.js Users
- Feathers API service composition with hooks
Credits
Thanks to Eric John Juta for his contribution about the Hot-Reloadable MobX Stores implementation.
Contributing
If you like this stack, don't forget to star the repo!
If you want to contribute to the development, do not hesitate to fork the repo and send pull requests.