Giter Site home page Giter Site logo

redux-scratch's Introduction

redux-scratch

This application is intended to illustrate a non-trivial React application in conjunction with the Redux "predictable state container".

Redux is said to evolve the ideas of Flux, but it generally handles the concerns of Flux in terms of managing data flow and state within an application.

This application is described as non-trivial as it intends to show patterns found in more sophisticated applications in this genre, such as:

  • OAuth2 based authentication
  • JWT based authorization
  • "authorization-aware" routing
  • infinite-scrolling
  • Redux in conjunction with Promises

this application illustrates usage patterns for the following elements:

  1. webpack for build
  2. react for view
  3. react-router for routing
  4. redux for state management and data-flow
  5. babel for es-next syntax
  6. bootstrap for css styling
  7. axios for promise based http requests
  8. hellojs for client-side authentication via oauth
  9. jwt-decode for decoding jwt tokens
  10. react-waypoint for react style infinite-scroll
  11. json-server for mock server api's

this application also illustrates use of the following redux-centric add-ons:

  1. redux-actions for idiomatic generation of redux actions and reducers
  2. redux-thunk middleware for handling function based actions
  3. redux-promise middleware for handling promise based actions
  4. redux-logger middleware for logging redux state changes to console
  5. redux-simple-router for integrating router state with redux
  6. redux-devtools for improving the redux developer-experience (DX)
  7. redux-form for managing form state in redux store

directions

  1. git clone https://github.com/tony-kerz/redux-scratch
  2. cd redux-scratch
  3. npm install
  4. npm run generate-mock-data
  5. npm run dev-mock
  6. visit http://localhost:8080 in browser

notes

  • this was built using Node >= 5.x and NPM >= 3.x
  • redux-devtools is hidden by default, but hit ctrl-H to bring it on
  • this was only tested in chrome Version 47.x so far, so YMMV in other browsers

potential future enhancements

redux-scratch's People

Contributors

tony-kerz avatar

Stargazers

ALIROT01 avatar Chad Nickell avatar  avatar

Watchers

mark cronin avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.