This work product is a summary of the work I did for the "Add Timezone support to ListenBrainz" project with Metabrainz organization as part of Google Summer of Code 2022.
Main goal: Allow users to set/reset local timezone on ListenBrainz website
Organization: MetaBrainz/ListenBrainz
Mentors: mayhem and lucifer
- Design and implement frontend UI of the
selectTimezone
webpage using Flask framework. - Modify the dababase by adding a new table
user_setting
to storeuser_timezone
information and adding constraints. This table can be reused to store more user preference related attributes in the future. - Add database functions for getting all timezones recognized by PostgreSQL.
- Add database functions for retreiving, adding, resetting user timezone.
- Write tests for Flask based frontend UI and the backend endpoint.
Related PR: #2035
- Re-implement the frontend UI of the
selectTimezone
webpage using react.js. - Modify backend API to support the updated frontend UI.
- Write tests for react based frontend UI.
Related PR: #2070
Continue working on the stretch goal of the project, which is to add timezone field in listens, so that users can have a local timestamp for their submitted listens.
Related PR: #2136