WRidder / react-spa

Community site SPA based on ReactJS
http://react-spa.herokuapp.com/
MIT License
297 stars 34 forks source link

Community site SPA based on ReactJS (PoC)

Gitter Build Status Code Climate

A Proof of Concept real-time single page application based on React and (Re)flux to discover best practices regarding a multitude of use cases. Contains a simple server with in-memory database in ./server.

Demo on Heroku
(Automatically deployed from this repository on travis build)

Installation

Just running the demo

  1. Run $ npm install in the ./server directory
  2. Start the server in ./server using $ node src/server.js. Should open a port on 8080.
  3. Navigate your browser to http://localhost:8080.

For developers

  1. [optional] Install gulp globally using npm install -g gulp
  2. Run $ npm install in the base directory
  3. Start the server in ./server using $ node src/server.js. Should open a port on 8080.
  4. Run $ gulp in the base directory. This will watch for file changes and build when necessary.
  5. Navigate your browser to http://localhost:8080; will reload on client changes.

Tested using npm 2.1.0 and node 0.10.33

Current state

Goal

Create a more advanced example (w.r.t. your average TODO app) of creating a SPA using ReactJS. Initially as a personal exercise to go through the mud once while hoping to share new insights gained during the process and discuss various approaches.

This will be by no means a production ready application. Objectives and goals are subject to change.

Primary objectives

Secondary objectives

Application design

Features

Roles

Layout

Home page

+---------------------------------------------------------------------------+
| Logo                                                 Account   Updates(5) |
| +----------+ +-----------+ +-------------+  +-------------+ +-----------+ |
| | Home     | | Questions | | Discussions |  | About       | | Chat      | |
| +----------+ +-----------+ +-------------+  +-------------+ +-----------+ |
|                                                                           |
+---------------------------------------------------------------------------+
|  Homepage                                                                 |
|                                                                           |
|                            List of updates                                |
|                                                                           |
+---------------------------------------------------------------------------+
|(c) notice                                                                 |
+---------------------------------------------------------------------------+

Libraries

Foundations

Resources

Blogs

Discussions

Books

Changelog

[06-jan-14] Added demo app to heroku
[01-dec-14] Improving isomorphic rendering
[30-nov-14] Isomorphic app support
[24-nov-14] Sessions (login/logout/profile); html5 puhsState; single server
[22-nov-14] Initial version