burnchart/README.md

105 lines
6.4 KiB
Markdown
Raw Normal View History

2014-09-12 04:09:39 +00:00
# burnchart.io
2014-09-02 03:28:28 +00:00
2014-09-02 04:54:20 +00:00
## Concept
GitHub Burndown Chart as a service. Public repos are free, for private access auth via GitHub and pay.
## Tasks
2014-09-18 03:00:01 +00:00
### MVP - Community Plan
2014-09-02 04:54:20 +00:00
2014-09-18 03:00:01 +00:00
- [x] show a list of projects and their milestones with progress & due date
- [x] show burnchart for that project milestone
- [x] show all issues as [one size](https://github.com/radekstepan/github-burndown-chart/issues/46)
2014-09-18 03:00:01 +00:00
- [x] use `localStorage` to save project names
2014-09-24 02:49:00 +00:00
- [ ] show a milestones page where we see a table ala projects but for only one project
2014-09-02 04:54:20 +00:00
2014-09-20 02:48:10 +00:00
### The 20%
2014-09-03 02:42:11 +00:00
2014-09-24 04:11:57 +00:00
- [ ] provide a documentation site
2014-09-24 02:49:00 +00:00
- [ ] visiting a chart page saves the project if it isn't saved already
2014-09-23 04:47:17 +00:00
- [ ] landing page for the project and put message on my repo
2014-09-21 18:37:47 +00:00
- [ ] Handle [404](https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html#section-404) on routes; from catch all check if '/' or go 404 controller
- [ ] allow `pushState` when [Firebase hosted](https://www.firebase.com/docs/hosting/guide/url-redirects-rewrites.html#section-rewrites)
2014-09-20 20:44:14 +00:00
- [ ] progress needs to be calculated based on strategy even on homepage, then sort the milestones based on priority
2014-09-20 02:48:10 +00:00
- [ ] calculate left margin based on the total number of points text width
2014-09-04 02:49:09 +00:00
- [ ] Do not show login/logged-in state when we are still fetching that information from Firebase
2014-09-21 18:37:47 +00:00
- [ ] local storage is getting reset
- [ ] a bit of a freeze when fetching `mbostock/d3`
2014-09-20 02:48:10 +00:00
- [ ] Validate repo input and show a loading sign of sorts
- [ ] Check that we have not run out of requests to make
- [ ] Show loading sign on top of [browser window](https://github.com/buunguyen/topbar) which is unobtrusive enough we can show it immediately.
- [ ] show a countdown clock towards the end of the milestone or show overdue
2014-09-26 02:57:55 +00:00
- [ ] highlight for a moment recently changed milestone
- [ ] smooth animation when transitioning between icons
2014-09-21 21:26:01 +00:00
- [x] format milestone titles prepending "Milestone" word if appropriate
2014-09-21 18:37:47 +00:00
- [x] Variable document.title on different pages
2014-09-20 20:44:14 +00:00
- [x] be able to go back to homepage
- [x] deal with no due date milestones - always on track
2014-09-20 03:33:25 +00:00
- [x] show title on the chart page
- [x] work for `mbostock/d3`
2014-09-20 02:48:10 +00:00
- [x] 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
- [x] closed issues can be moved to a newly created milestone, this messes up the chart since we assume milestone is created first!
### Extras
2014-09-04 02:49:09 +00:00
- [ ] 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.
- [ ] Check location.hash is supported
- [ ] Have an app wide of triggering a URL and have named routes too
2014-09-14 23:29:55 +00:00
- [ ] On page load get all the latest data regardless of `time_ago`
2014-09-12 04:09:39 +00:00
- [ ] 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
2014-09-04 02:49:09 +00:00
- [ ] 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
- [ ] 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.
2014-09-20 02:48:10 +00:00
- [ ] until GH fix milestone start date then provide an option to specify it (either do that on GH server or locally); for example a text like this: `starts: 09-10-2014` in the description which we provide regex for
2014-09-04 02:49:09 +00:00
- [ ] 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](https://dribbble.com/shots/1736128-Meetups-Page?list=shots&sort=popular&timeframe=now&offset=5)
2014-09-04 04:03:26 +00:00
- [ ] allow people to submit suggestions via GitHub Issues
2014-09-09 03:07:08 +00:00
- [ ] find a way where, as a group, we can share repo data by trusting the other repo members that use our platform
2014-09-17 04:05:16 +00:00
- [ ] support Jira & Gitlab
- [ ] when fetching subsequent updates, fetch only the last page of issues since some repos are large (2.5MB & 19 pages for `mbostock/d3`); actually that is for all issues, not milestone constrained. So only an issue if we want to see a burnchart for all the issues for a repo
- [ ] move tests from `radekstepan/github-burndown-chart`
- [ ] if all issue circles are close to each other, make a "master circle" that amalgamates all the issues into one large circle, makes for a prettier view
- [ ] tell people if they have no due date
- [ ] make better x-axis date display, otherwise we see all 1s.
2014-09-02 04:54:20 +00:00
## Notes
2014-09-25 02:53:21 +00:00
- *payment gateways* in Canada: [Shopify](http://www.shopify.com/payment-gateways/canada), [Chargify](http://chargify.com/payment-gateways/) list; I get free processing on first $1000 with [Stripe](https://education.github.com/pack/offers)
2014-09-11 04:44:58 +00:00
- start people on a *Community* plan showing them a comparison table to upgrade to a better offering
2014-09-14 23:29:55 +00:00
- community (open source, local storage), business (private repos, firebase)
2014-09-07 00:19:34 +00:00
- keep discussion going via [gitter](http://gitter.im)
2014-09-10 04:15:33 +00:00
- [credit card form](http://designmodo.com/ux-credit-card-payment-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.
2014-09-16 03:00:29 +00:00
- worst case scenario I provide even Small Business plan for free and provide a better experience
2014-09-17 04:05:16 +00:00
- $2.5 Node.js PaaS via Gandi with promo code `PAASLAUNCH-C50E-B077-A317`.
- let people vote on features they want to see fast: [tally.tl](http://tally.tl/).
2014-09-24 04:11:57 +00:00
- use [readme.io](https://readme.io/) for documentation
2014-09-17 03:06:48 +00:00
## 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
2014-09-24 04:11:57 +00:00
- private repos