-
Start project - [x] Start this file. - [x] Start offline bug and time logs - [x] Estimate time for all steps - [x] Add .gitignore - [x] Create skeleton directory structure - [x] Create way to push to GitHub - [x] Yarn basic packages: mocha, express, webpack, react - [x] Write simplistic test (test_true) and add yarn target - [x] Make eslint work correctly in Atom
-
Skeleton of site - [x] write components for MainPage, BuilderPage, CreditsPage, PopularPage, LessonPage - [x] write tests for each component - [x] write router - [x] Write core index - [x] write tests for router
-
Publish running system - [X] Select a RackSpace or DigitalOcean based on reasons. - [X] Manually deploy to system. - [X] Create an instance to run on programatically. - [ ] Configure an instance programatically. - [ ] Create VMTest target that spins up, runs tests, and spins down. - [ ] Create VMRun target that spins up, and runs a server. - [ ] Create VMKill target that destroys all instances. - [ ] Create VMUpdate target that hits an instance, updates to git, and restarts.
-
Design hard spot - [ ] Make the prompt object data structure and algorithms. - [ ] Make the prompt option and explanation structure and algorithms. - [ ] Design exact look of the components to add - [ ] Figure out how to push text to clipboard. - [ ] Create a "construct from JSON" piece. - [ ] Figure out lookahead system.
-
Make MVP - [ ] Create paper mock up of the builder page - [ ] Create the subcomponents of the builder and test - [ ] Create at least a half dozen options to choose - [ ] Handle reordering items
-
Select branding preparation - [ ] Make or choose a logo. - [ ] Write my contact info and bio page. - [ ] Write a draft of the announcement, and maybe a press release. - [ ] Dig up AdWords account for a short advertising run, or maybe Project Wonderful on computer related comics. - [ ] Set up accounting for branding
-
Write storage section - [ ] Find good JavaScript cookie library - [ ] Add load/save based solely on cookies - [ ] Add saved items / edit / copy / delete to the splash page - [ ] Auto save changes during builder
-
Write remaining verbiage - [ ] Write explanation of PS1 setting. - [ ] Write test prompts for terminal characteristics - [ ] Write explanation for fonts, unicode, and some special fonts. - [ ] Write explanation of tool shortcuts - [ ] Write 'run command' options and scripting help
-
Launch - [ ] Pick a date in advance. - [ ] Make list of prerelease actions:
- Buy ads for those days.
- Make verbiage for HackerNews, Slashdot, Reddit, Twitter, a few other places.
- Prepare short video.
- Prepare press release
- Select mailing lists or meetup groups.
-
Create public roadmap. - [ ] PowerShell support - [ ] Private hosting
-
HammerLab, "Testing React WebApps with Mocha": http://www.hammerlab.org/2015/02/14/testing-react-web-apps-with-mocha/
- Using a mocha compiler to stub out React components
- Using a fake dom
- Using the old react-tools to transform to ES6
-
James Nelson, "Testing in ES6 with Mocha and Babel 6", http://jamesknelson.com/testing-in-es6-with-mocha-and-babel-6/