I have found some time these two weeks to dedicate to the project and a lot of
new improvements have been done:
- I have ported the whole project from the hacky implementation using flask and redis to a more
serious implementation using Django and postgres as the database backend.
Regarding Guido's feedback:
> - Show dates (and perhaps filter on "last week/month/etc."?)
You can select a range of dates (under "Creation date") and click filter.
> A few people appear under two names (at least Eric [V.] Smith)
This is a hard problem as multiple contributors have committed with different sets of emails and names. To
avoid this problem I am aggregating all under the same name. As this does not resolve all ambiguity, a function
(that contributors would be able to edit with Pull Requests) disambiguates the names:
In that example, I am mapping all commits from "email@example.com" to the name "Gregory P. Smith". >
- Contrast on the boxes here makes them hard to read for my old eyes: https://thanks-python.herokuapp.com/tag/v3.6.5
The text in the boxes is now white. I am very colourblind and this is probably not the best solution but now it should be easier to read :)
> Ms Islington is credited for a number of commits -- shouldn't those be attributed to the original author somehow?
Now, when a commit is made by Ms Islington, the real cherry-picked commit is searched and used to identify the original author.
Rebuilding the database is baked in the application, as it keeps an updated copy of the CPython repo that is used to update the database. The first time
you set this up (in a local environment or in the server or for a contributor...etc) it will download a fresh copy and will populate the missing data in the
database. This makes deployment and contributing very easy.
To help with future contributors I have provided several docker-compose files that makes setting everything up super easy:
docker-compose -f local.yml up --build
And you will have everything running after a few minutes.
We could use GitHub issues for the next iterations if you prefer :)
Regards from rainy London