GitHub Burndown Chart as a Service
http://radekstepan.com/burnchart
e6a8f85803 | ||
---|---|---|
public | ||
src | ||
.bowerrc | ||
.gitignore | ||
Gruntfile.coffee | ||
Makefile | ||
NOTES.md | ||
README.md | ||
bower.json | ||
firebase.json | ||
package.json |
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
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), small business (private repos) and enterprise plans (contact us)
- 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