PlanetX-Poll: Template for Large Scale App Development - Redux M1.3+

#PlanetX-Voting-Machine
A template for building large scale applications with Meteor and Redux. Learn how to use Meteor 1.4, React, Redux by stepping through the commits for this project. A tutorial and more information will be coming down the road.

Goals

This repo is the result of a lot of my research, frustration, and effort to build a reusable modern (ES6+) template for large scale application development. My goals were to:

  1. easily increase the # of contributors without EmberJS or another standards driven framework by having strong semantic naming conventions and consistent code formatting
  2. DRY and Dissolve the app structure as much as possible so, as the application grows its a natural consequence to want to group components into independent modules, but prior to Meteor 1.3 a lot of code for each module was separated between /client/ and /server/. Now its easy (if programmed properly) to refactor completed modules from /imports/ into /packages/ making the next step - splitting into microservices - much easier.

Audience

Intermediate to Advanced level MeteorJS or ReactJS developers. There’s probably too much here, without enough documentation, for you to be a beginner in both and understand everything thats going on here.

Getting Started

  1. Clone and Install the App
  2. Docs located in .projects/simpleVotingMachine/development
  3. CommitJournal - more info per commit
  4. Structure - what files do and where they are
  5. Turn on the server and Step through each of the commits

Specific areas to critique

  • Reusability
  • Architecture
  • ES6+ usage & Style
  • Packages

Next Commits

  • Save Ballot to Account and Update Later
  • Tally Votes in Collection
  • Results Page with Bar Graph

Epics

  • Finish SImple Voting Machine (1 vote / user) & Deployment
  • Change to Ranked Voting Machine (3 ranked votes / user)
  • Daily vs Cumulative View
  • Anonymity & Privacy

Thank you so much for your feedback. I credit Meteor with providing a framework that allowed me to transition from a “code-hacker” to become a real developer, and of course the community provided the knowledge.

~ Falieson

2 Likes

Interesting project, looking forward to the tutorial!

If anyone wants to work with me on making a tutorial/guide for the repo, I’m not a great writer, so its probably the fastest way to get the tutorial done.

Since the repo is aimed at intermediate-advanced users I’m assuming the core audience is able to read through the commits and understand the docs and follow the file structure. The structure is based on the Meteor guide with my own elaborations and abstractions for Server Side DB changes and Redux.

And personally, there’s a few pieces of the application (the epics I named above) that are much more exciting projects than getting the guide/tutorial out. When enough’s done, I’ll probably be more motivated to write the guides and broaden the audience to beginners.