Skip to content

TodoMVC Angular 1.x app written in ES6 using Reflux, Immutable.js, Bacon.js, and PouchDB.

Notifications You must be signed in to change notification settings

AshCoolman/Angular-TodoMVC-Reflux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Angular-TodoMVC-Reflux

Build Status

Motivation

Demonstrates the usage of modern javascript libraries and architechture within the context of a relatively simple Angular application: the long-standing TodoMVC.

Conventional Angular-esque MVC is eschewed in favor of using directives as lightweight modular components backed by Reflux.js stores and a unidirectional data flow. All data is immutable through use of Immutable.js.

Data is (optimistically) persisted locally with PouchDB. I currently do not do any syncing with a server but this could be trivially implemented. Aditionally, the unidirectional data flow means the persist store could be swapped out with something that talks to a server directly without changing any other part of the application.

UI state is driven by Bacon.js with Reflux actions used to model and emit events. Local ui-specific state is maintained by some components but I deliberately do not make use of Angular's two way data binding to communicate state across components.

All JS is writtin in ES6, transpiled with Babel, and tested with Karma and Jasmine

Running

You must have npm installed on your computer. From the root project directory run these commands from the command line:

npm install

This will install all dependencies.

To start the project, run this command:

npm start

Point your browser at https://localhost:8000 to view the project.

Alternatively, deploy the project for free on Heroku for a zero-configuration install.

Deploy

Contributing

  • Fork it

  • Clone it

    git clone https://github.com/*YOUR-USERNAME*/angular-flux
    
  • Hack it

  • Test it (contribute some more!)

    npm test
    
  • Open a PR!

About

TodoMVC Angular 1.x app written in ES6 using Reflux, Immutable.js, Bacon.js, and PouchDB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.3%
  • HTML 1.7%