Lumpen Radio Web 2.0 is an evolution of the mind
JavaScript CSS HTML
Latest commit a9c709a Dec 26, 2016 @jhabdas committed on GitHub Add deprecation notice

README.md

This Project Is Deprecated

This is a spike on an isomorphic app for a talk on Isomorphic Rendering with React. Since creation there have been advances in React tooling and, as a result, I recommend checking out some of the other Awesome React Boilerplates that've popped up lately. Have fun out there!

Lumpen Radio Web 2.0

Stack Share Dependency Status devDependency Status Tips

The new Lumpen Radio is an evolution of the mind.

wlpn-com-proto-navigation

Features

  • Remote data and Authentication with Firebase.
  • Isomorphic rendering of Firebase data.
  • Alt as a lightweight Flux implementation.
  • Leverages Material UI for access to robust pre-assembled components.
  • BEM-style CSS components with Bootstrap inspired variables using CSS Next.
  • Markdown processing with Showdown (with XSS filter).

Documentation

Directory Layout

├── /build/                     # The folder for compiled output
├── /docs/                      # Documentation files for the project
├── /node_modules/              # 3rd-party libraries and utilities
├── /src/                       # The source code of the application
│   ├── /actions/               # Action creators that allow to trigger a dispatch to stores
│   ├── /api/                   # REST API / Relay endpoints
│   ├── /components/            # React components
│   ├── /constants/             # Constants (action types etc.)
│   ├── /content/               # Static content (plain HTML or Markdown, Jade, you name it)
│   ├── /core/                  # Core components (Flux dispatcher, base classes, utilities)
│   ├── /decorators/            # Higher-order React components
│   ├── /public/                # Static files which are copied into the /build/public folder
│   ├── /stores/                # Stores contain the application state and logic
│   ├── /utils/                 # Utility classes and functions
│   ├── /app.js                 # Client-side startup script
│   ├── /config.js              # Global application settings
│   ├── /routes.js              # Universal (isomorphic) application routes
│   └── /server.js              # Server-side startup script
├── /tools/                     # Build automation scripts and utilities
│   ├── /lib/                   # Library for utility snippets
│   ├── /build.js               # Builds the project from source to output (build) folder
│   ├── /bundle.js              # Bundles the web resources into package(s) through Webpack
│   ├── /clean.js               # Cleans up the output (build) folder
│   ├── /config.js              # Webpack configuration for application bundles
│   ├── /copy.js                # Copies static files to output (build) folder
│   ├── /deploy.js              # Deploys your web application
│   ├── /serve.js               # Launches the Node.js/Express web server
│   └── /start.js               # Launches the development web server with "live reload"
│── package.json                # The list of 3rd party libraries and utilities
└── preprocessor.js             # ES6 transpiler settings for Jest

Getting Started

Just clone the repo and start hacking:

$ git clone https://github.com/jhabdas/lumpenradio-com.git
$ cd lumpenradio-com
$ npm install                   # Install Node.js components listed in ./package.json
$ npm start                     # Compile and launch

How to Build

$ npm run build                 # or, `npm run build -- --release`

By default, it builds in debug mode. If you need to build in release mode, just add a -- --release flag. This will optimize the output bundle for production.

How to Run

$ npm start                     # or, `npm start -- --release`

This will start a light-weight development server with "live reload" and synchronized browsing across multiple devices and browsers.

How to Deploy

$ npm run deploy                # or, `npm run deploy -- --production`

For more information see tools/deploy.js.

How to Update

You can always fetch and merge recent changes from this repo back into your own project:

$ git checkout master
$ git fetch react-starter-kit
$ git merge react-starter-kit/master
$ npm install

How to Test

Run unit tests powered by Jest with the following npm command:

$ npm test

Test any javascript module by creating a __tests__/ directory where the file is. Append -test.js to the filename and Jest will do the rest.