This repository contains the source code of the gitstat.com website.
If you're looking to generate the JSON git logfile go here instead.
Simply run:
$ npm install
$ npm run dev
The website will be available at http://localhost:1234
See the Kanban board here.
Is the data kept private?
Yes. The gitstat.com website runs within your browser and doesn't store the logfile remotely or even locally. As a result if you refresh the page you'll have to submit the logfile again.
The only data that is stored within your browser are the config settings.
I miss feature X or found a bug
If you found a bug or have a feature suggestion, please open an issue here. Issues/features related to the website should be posted in the gitstat repository.
Can I contribute?
Yes! Please open a PR. If you want to do significant work I'd recommend opening an issue first, share some thoughts before you invest a lot of your time.
Will you commercialize gitstat.com?
No. As long as there are no significant costs involved in running the website I won't be looking for any type of funding. Additionally the sourcecode is open-source so anyone can fork and setup their own if they feel like it.
Why did you use chart.js instead of X
I tried several chart libraries (also React-specific ones) and I found Chart.js the most performant with larger datasets while at the same time providing a great out-of-the-box setup.
There are definitely things I don't like about it and I did fine a couple of bugs, but in the end I value performance and features more.
Why no redux/sagas/moby/...?
I tend to go for the simplest solution possible. I was intrigued with the new out-of-the-box reducer from React so I tried managing state within the context manually. Not sure if I'm particularly happy with the setup now, but it'll do.
Where are the tests?
Usually I focus heavily on automated tests but most of my hobby projects never see the light of day. In this case I focused on pushing the project above all else.
Why is there so much computation in the front-end?
There is no backend API, only a CLI tool to generate the git logfile. The gitstat CLI tool is intended to gather the minimum amount of data; any data that can be derived is excluded from its JSON output. As a result the front-end computes derived data within Extended<Type>
objects.