Giter Club home page Giter Club logo

gtd's Introduction

Sample GTD app with Facebook Flux and React.JS

This is a sample TODO app demonstrating use of Facebook Flux and React.JS.

It was initially introduced at a talk for an outstanding DDDBE community (Domain-Driven Design Belgium). You can watch the whole video and read more about the talk.

Design

To be more precise, this is an example isomorphic Flux web application using fluxible-app, fluxible-plugin-routr, and fluxible-plugin-fetchr.

Version of Flux used here is a bit different from the original Flux, as explained in the original Facebook Flux.

The reasons for choosing Yahoo Fluxible:

  1. Methodology is closer to CQRS/ES community with event-driven design experience. It is easier to understand and reason about.

  2. Yahoo Fluxible allows building isomorphic applications.

Differences from Yahoo Fluxible that could show up in this code:

  1. actions are called events
  2. action creators - event creators

Design

Running the Sample

To run the sample:

  1. Install Node.JS.

  2. Install webpack globally (it bundles scripts for the client):

     > npm install webpack -g
    
  3. Browse to web folder and execute:

     > ./run.sh
    
  4. Open your browser at http://localhost:3000. Then, type in the textbox and hit Enter to add your first TODO item.

Screenshot

Features

This sample has only a couple of features at this point:

  1. In-memory server-side storage (in node.js process).
  2. Compose new tasks to Inbox View (type in the text box and hit Enter).
  3. Complete tasks by checking them.
  4. Edit tasks by clicking on the task name (currently allows only to manage completion and starring).
  5. Mark tasks as important by starring them in edit view.
  6. Agenda View shows incomplete tasks. Starred tasks come first.
  7. Starred View shows starred tasks.

Projects and Contexts do nothing at this point.

Updates and News

You can follow my blog on Software Design for any materials and updates on this project.

gtd's People

Contributors

abdullin avatar

Watchers

James Cloos avatar Geert Huls 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.