Analytics tool for GitHub stargazers, using SQLite as a backend.
Note: This is currently under development. The code will download all data to SQLite but no frontend exists to analyse/display the data.
$ cargo run -- --help # Show usage
$ cargo run # Fetch all data from GitHub
You can query the database using the SQLite client:
$ sqlite3 stargazers.db
Here's an example query to get the top 20 starred repos for your stargazers. This tells us what else your stargazers are interested in:
SELECT full_name, count(*) as count
FROM repository r
LEFT JOIN user_repos ur ON (r.id = ur.repository AND ur.type = 'stargazer')
GROUP BY ur.repository
ORDER BY count DESC
LIMIT 20;
- Build a front end to analyse and display SQLite results
- Abstract database using an ORM
- Tests
- Improve GitHub binding (e.g. autogenerate structs from GitHub schemas, parallelise pagination etc., publish as new lib on crates.io)
- Improve data collection (e.g. collect commits on target repo to correlate with stargazer dates)