#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:
- easily increase the # of contributors without EmberJS or another standards driven framework by having strong semantic naming conventions and consistent code formatting
- 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
- Clone and Install the App
- Docs located in .projects/simpleVotingMachine/development
- CommitJournal - more info per commit
- Structure - what files do and where they are
- 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