Giter Site home page Giter Site logo

meteor-flux-leaderboard's Introduction

meteor-flux-leaderboard

Flux Example with React & Meteor

Get the benifits of Relay without the wait or complexity

  • Automatic optimistic UI updates (latency compensation)
  • Real time database updates (like Uber's realtime driver location)
  • Mini-Mongo client cache (easy clientside querying)
  • Query based data subscriptions instead of REST (also API REST supported)
  • Data operations in flux are written synchronously because of the optimistic UI

Plus

  • Hot code reload
  • Universal JS shared on client and server (isomorphic)
  • Clean server-side code with fibers (soon with promise ES7 async/await)
  • Easy microservice implementations via DDP
  • Modular, swap out any default Meteor components you wish

Different Flux examples


***Make sure to open the console to see the lifecycle***

logs

Example Photo

Full Readme coming soon! (See this readme for an explanation of the Meteor parts)

Usage

  • cd meteor-flux-leaderboard
  • meteor
  • Open your browser to localhost:3000
  • Checkout action/store logs in console after clicking about

### Todo
  • Basic functinality
  • Handle hot code reload (snapshot and restore on reload)
  • Serverside rendering branch (started, shared files but no SSR)
  • Immutible stores for rendering performance
  • React Router using actions

Key pieces are in CollectionActions/Store, Tracker watches for changes on the Minimongo clientside cache and emits a change event when data changes. This retains all the optimistic UI and realtime data capabilities that Meteor offers.

 Tracker.autorun(computation => {
    var docs = Players.find({}).fetch();
    
    if (computation.firstRun) return; // ignore first empty run
    
    this.CollectionActions.playersChanged(docs);
  });

Alt perks

Alt lets you take snapshots of your apps state and can undo/redo state as needed. You can use this to capture your app state on an error then send log it for debugging remotely.

A chrome extension is availible to help with local debugging:
https://www.youtube.com/watch?v=LUksOCuRjkE

Contributors:

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.