Nice. Is there any way to see trending repos for a date range? It'd be interesting to compare trending from last year to this year for example. I haven't looked at the source yet, but which parts of this did you do in Go and which in js, how did you split the responsibilities, frontend js and backend go? If so did you consider doing the front end in Go as well?
PS I'm going to sort out the editing here so that it uses content editable, but you can put html links into your description by using anchor tags like this - trending machine
For now, there is no way to see trending repos for a date range but it is an idea I was thinking about. It would be nice to have this ability so that you can for example share 4-5 days of when a repo was trending. The problem is that it I don't have enough data about the trending repos in the past. And how will you order them ?
Yes exactly, frontend js and backend in go.
There is a web folder which has the go web server/api and a public folder in it which holds all the js files. The second directory is hubspider which does the scraping and saving of the trending repos for the current day and choosen languages into mongodb.
Yes it would be nice to add some graphs of position over time as well as letting you see which repos trended for longest overall, that sort of thing. Github could provide a much more sophisticated search of packages I think - they are ideally positioned to do this now. Re order I was thinking some sort of ordering based on days at the top, or days above a given rank? The ordering used by HN/Reddit is interesting for newer stuff (exponential decay based on time), not sure what Github uses. I guess from today you can store as much info as you want, but historical data would be a problem.
The backend go and js frontend seems to be a common pattern. I quite like keeping it all in Go, but it's nice to see how others structure projects and Go is certainly well suited for writing a backend service.
Thanks, that looks great, there's something weird going on with the labels on that example though, I see loads at the the same time when I hover. This one for otto looks better as the points are more spaced out perhaps.
Yes I use js on the frontend just as a habit and since I have a lot of boilerplate code in js I can start quickly.
This is just intended to be a example of my previous package (spider) 100% in Go this time.
Maybe an alternative would be to track a single repository through a time range. To see his position in a graph over time.
If there is enough people interested in this project, it would be interesting to have, like you said, a rank based on time and some other data (stars, forks, issues,..) but that would be another story I guess ^^