GitHub Burndown Chart as a Service http://radekstepan.com/burnchart
Go to file
Radek Stepan 648725c3dc plans notes 2014-09-16 20:06:48 -07:00
public show current milestone 2014-09-14 13:14:57 -07:00
src show current milestone 2014-09-14 13:14:57 -07:00
.bowerrc initial skeleton of a project 2014-08-28 19:55:45 -07:00
.gitignore initial skeleton of a project 2014-08-28 19:55:45 -07:00
Gruntfile.coffee show current milestone 2014-09-14 13:14:57 -07:00
Makefile watch with live reload 2014-09-14 09:33:15 -07:00
NOTES.md persist in local storage 2014-09-13 19:10:10 -07:00
README.md plans notes 2014-09-16 20:06:48 -07:00
bower.json show current milestone 2014-09-14 13:14:57 -07:00
firebase.json github login using firebase 2014-08-30 10:17:46 -07:00
package.json watch with live reload 2014-09-14 09:33:15 -07:00

README.md

burnchart.io

Concept

GitHub Burndown Chart as a service. Public repos are free, for private access auth via GitHub and pay.

Tasks

MVP

  • landing page allows you to immediately jump into action
  • show chart for the current milestone, default to the first one returned and allow to choose a custom one
  • sort projects based on their closest due dates
  • show only repo name if all projects are under our name
  • show all issues as one size
  • use local storage to save information about us, but keep the API open for Firebase

The 20%

  • Do not show login/logged-in state when we are still fetching that information from Firebase
  • Handle 404 on routes; from catch all check if '/' or go 404 controller
  • Variable document.title on different pages
  • In add a project form autocomplete on my username, orgs I am member of and repos I have access to
  • Someone might create a public repo, add it to the system and switch it to private; need to check repo priviledges at runtime; or when asking for auth, one would choose either public OR public/private, but this could get confusign.
  • Make sure the padding fits throughout the interface; we have user-select on elements.
  • Validate repo input and show a loading sign of sorts
  • When fetching repo say if no perms to access or does not exist
  • Check location.hash is supported
  • Have an app wide of triggering a URL and have named routes too
  • Check that we have not run out of requests to make
  • Deal with running out of GH API requests
  • Since persistence is async, deal with the flicker (show laoding?) when we are still getting data
  • On page load get all the latest data regardless of time_ago
  • Show loading sign on top of browser window which is unobtrusive enough we can show it immediately.

Extras

  • rotate between percentage progress and points left
  • be able to config options through UI that currently have to be hardcoded in config
  • cache repos in localStorage for those that do not use GitHub login
  • allow people to go straight to a URL that fetches the repo, if public, for them; to demo our app without adding a repo (add it behind the scenes); req cache repos
  • choose your own strategy for naming issues, e.g. all issues are one size
  • choose your own theme
  • custom milestone start dates
  • show burndown chart for all milestones
  • handle Enterprise editions of GH (signed up in gh dev program)
  • auto-update the chart (with delay when no activity) when logged-in
  • show a countdown clock towards the end of the milestone or show overdue
  • add weekly velocity across all projects and a bar chart to that effect
  • show a little lightning and a number for today's velocity
  • show burnchart only for your tasks; this would be a second category of projects & tasks in the dashboard
  • show an overall text-based status like: all projects on time etc.
  • until GH fix milestone start date then provide an option to specify it (either do that on GH server or locally)
  • work on mobile devices
  • show velocity number for each member of the team in the corner of the layout
  • show velocity for all team members and how it progresses through time
  • points collector - give medals for 1st 3 spots in terms of velocity
  • show past commits or due dates like in this calendar
  • allow people to submit suggestions via GitHub Issues
  • find a way where, as a group, we can share repo data by trusting the other repo members that use our platform

Notes

  • payment gateways in Canada: Shopify, Chargify list
  • start people on a Community plan showing them a comparison table to upgrade to a better offering
  • community (open source, local storage), business (private repos, firebase)
  • keep discussion going via gitter
  • credit card form ux from Designmodo
  • workers: using a free instance of IronWorker and assuming 5s runtime each time gives us a poll every 6 minutes. Zapier would poll every 15 minutes but already integrates Stripe and FB.
  • worst case scenario I provide even Small Business plan for free and provide a better experience

Plans

Community

  • your repos are saved locally
  • no auto-updates to milestones, everything fetched on page load
  • no private repos

Business

  • repos, milestones saved remotely
  • auto-update with new information
  • private repos