Skip to content

Instantly share code, notes, and snippets.

@YouzhiL
Last active September 5, 2022 13:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YouzhiL/c6495a8757f8e34f99e494b48ff2c5e9 to your computer and use it in GitHub Desktop.
Save YouzhiL/c6495a8757f8e34f99e494b48ff2c5e9 to your computer and use it in GitHub Desktop.

Google Summer of Code 2022 Work Product

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.

Project description

Main goal: Allow users to set/reset local timezone on ListenBrainz website

Organization: MetaBrainz/ListenBrainz

Mentors: mayhem and lucifer

Contribution

Phase 1

  1. Design and implement frontend UI of the selectTimezone webpage using Flask framework.
  2. Modify the dababase by adding a new table user_setting to store user_timezone information and adding constraints. This table can be reused to store more user preference related attributes in the future.
  3. Add database functions for getting all timezones recognized by PostgreSQL.
  4. Add database functions for retreiving, adding, resetting user timezone.
  5. Write tests for Flask based frontend UI and the backend endpoint.

Related PR: #2035

Phase 2

  1. Re-implement the frontend UI of the selectTimezone webpage using react.js.
  2. Modify backend API to support the updated frontend UI.
  3. Write tests for react based frontend UI.

Related PR: #2070

Future work

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment