{"id":16592680,"url":"https://github.com/prikhi/github-analytics","last_synced_at":"2025-04-15T00:40:37.326Z","repository":{"id":80049349,"uuid":"130440753","full_name":"prikhi/github-analytics","owner":"prikhi","description":"Aggregate Traffic Graphs for All Your Github Repositories!","archived":false,"fork":false,"pushed_at":"2018-04-21T15:38:27.000Z","size":51,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T12:38:52.831Z","etag":null,"topics":["aggregation","analytics","github","haskell","reflex-frp"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prikhi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-21T04:46:52.000Z","updated_at":"2020-04-30T01:28:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"65e091bd-157b-4ef5-a1cf-4bb269fae24e","html_url":"https://github.com/prikhi/github-analytics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fgithub-analytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fgithub-analytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fgithub-analytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fgithub-analytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prikhi","download_url":"https://codeload.github.com/prikhi/github-analytics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248986270,"owners_count":21194024,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregation","analytics","github","haskell","reflex-frp"],"created_at":"2024-10-11T23:21:54.351Z","updated_at":"2025-04-15T00:40:37.308Z","avatar_url":"https://github.com/prikhi.png","language":"Haskell","readme":"# Github Analtics\n\nI wanted an application that would pull all the traffic data from my github\nrepositories \u0026 show me a graph \u0026 table of total pageviews \u0026 clones, along with\na breakdown per repository.\n\n![A screenshot of the Github Analytics application, showing a table of repositories and their view counts from the last 14 days.](/screenshot.png?raw=true \"Github Analytics\")\n\nThis is project is built with Haskell's\n[reflex-platform](https://github.com/reflex-frp/reflex-platform), mostly\nbecause I wanted to try it out.\n\n## Run\n\nFirst install nix, it's easiest to do via the `reflex-platform`:\n\n    $ git submodule update --recursive --init\n    $ reflex-platform/try-reflex\n    [nix-shell] $ exit\n\nYou might need to add something like `source\n~/.nix-profile/etc/profile.d/nix.sh` to your `.bashrc`.\n\nThe easiest way to start developing is launching GHCi to run the server \u0026 GTK\nclient:\n\n    # Start the server:\n    $ ./manage.hs server-repl\n    \u003e main\n    # In another terminal:\n    $ ./manage.hs client-repl\n    \u003e main\n    # After making some changes:\n    \u003e :r\n    \u003e main\n\nChanges to `common/` will require restarting `ghci`. The client repl also has a\n`mainServer` function that will allow you build with GHC \u0026 connect with your\nbrowser to `http://localhost:3911`.\n\n\n`./manage.hs nix-build` will make production builds of the server and the web,\ngtk, \u0026 mobile clients. This will take a while.\n\nYou can get faster, incremental builds using `./manage.hs ghc-build` \u0026\n`./manage.hs ghcjs-build`.\n\n## TODO\n\n* Add graphs (probably using `diagrams-reflex`?), requires returning views per day\n* More data: referrers, pages, clones, unique views\n* Add organizations - with checkboxes to toggle on \u0026 off\n* Add filters - affiliation, type(fork/source), language, etc\n* Add table sorting\n* Figure out proper XHR error handling(use `WithError` function)\n* Style it\n* Add needed Github data types \u0026 endpoints to `phadej/github` package instead\n  of writing it ourselves.\n* Make it permanent!\n\n    * After receiving user/pass, make \u0026 store github API token \u0026 use that instead.\n      Would be really cool to give users option to encrypt token w/ password\n      and have them submit password when they want to update. Wouldn't let us\n      automatically pull traffic data, but much more secure.\n    * Save user's historical per-day data(maybe monthly data for people who aren't me)\n      - github only gives us the last 14 days.\n    * Cron job to update data every day? Would need to store api tokens unencrypted.\n\n\n## License\n\nGPL-3.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Fgithub-analytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprikhi%2Fgithub-analytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Fgithub-analytics/lists"}