Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/foxhound87/rfx-stack

RFX Stack - Universal App
https://github.com/foxhound87/rfx-stack

feathers mobx react ssr stack universal

Last synced: 7 days ago
JSON representation

RFX Stack - Universal App

Lists

README

        

# RFX Stack

#### Universal App featuring:
### React + Feathers + MobX
---

[![GitHub license](https://img.shields.io/github/license/foxhound87/rfx-stack.svg)]()
[![node](https://img.shields.io/badge/node-5.0%2B-blue.svg)]()
[![npm](https://img.shields.io/badge/npm-3.3%2B-blue.svg)]()

## Changelog & Documentation
See the [Changelog](https://github.com/foxhound87/rfx-stack/blob/master/CHANGELOG.md) or the [Documentation](https://github.com/foxhound87/rfx-stack/blob/master/DOCUMENTATION.md) 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 ➜](https://github.com/facebook/react) | [NPM ➜](https://www.npmjs.com/package/react) |
| **react-router** | Routing | [GitHub ➜](https://github.com/reactjs/react-router) | [NPM ➜](https://www.npmjs.com/package/react-router) |
| **mobx** | State Management | [GitHub ➜](https://github.com/mobxjs/mobx) | [NPM ➜](https://www.npmjs.com/package/mobx) |
| **feathers** | Server, CRUD & Data Transport | [GitHub ➜](https://github.com/feathersjs/feathers) | [NPM ➜](https://www.npmjs.com/package/feathers) |
| **postcss** | Styling | [GitHub ➜](https://github.com/postcss/postcss) | [NPM ➜](https://www.npmjs.com/package/postcss) |
| **browser-sync** | Live Browser Syncing | [GitHub ➜](https://github.com/browsersync/browser-sync) | [NPM ➜](https://www.npmjs.com/package/browser-sync) |
| **mobx-react-form** | Forms Management | [GitHub ➜](https://github.com/foxhound87/mobx-react-form) | [NPM ➜](https://www.npmjs.com/package/mobx-react-form) |
| **babel** | Javascript Transpiler | [GitHub ➜](https://github.com/babel/babel) | [NPM ➜](https://www.npmjs.com/package/babel) |
| **webpack 2** | Javascript Bundler | [GitHub ➜](https://github.com/webpack/webpack) | [NPM ➜](https://www.npmjs.com/package/webpack) |
| **eslint** | Code Linter | [GitHub ➜](https://github.com/eslint/eslint) | [NPM ➜](https://www.npmjs.com/package/eslint) |
| **eslint-config-airbnb** | Code Style Guide & Rules | [GitHub ➜](https://github.com/airbnb/javascript) | [NPM ➜](https://www.npmjs.com/package/eslint-config-airbnb) |
| **electron** | Cross platform desktop app | [GitHub ➜](https://github.com/electron/electron) | [Website ➜](http://electron.atom.io/) | |

---

# Quick Setup

> Run a local MongoDB instance (port 27017) before start the server.
[Install MongoDB](https://docs.mongodb.org/manual/administration/install-community/)

#### 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](https://github.com/foxhound87/rfx-stack/blob/master/DOCUMENTATION.md#electron)

---

## Getting started with RFX Stack

- [Ten minute introduction to MobX and React](https://mobxjs.github.io/mobx/getting-started.html)
- [State Management and Hydration with MobX for SSR](https://medium.com/@foxhound87/state-management-hydration-with-mobx-we-must-react-ep-05-1922a72453c6)
- [Functional CSS - The Good, The Bad, and Some Protips for React.js Users](https://github.com/chibicode/react-functional-css-protips)
- [Feathers API service composition with hooks](https://blog.feathersjs.com/api-service-composition-with-hooks-47af13aa6c01)

## Credits

Thanks to [Eric John Juta](https://github.com/rej156) 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.