Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite Project #475

Open
wants to merge 99 commits into
base: master
Choose a base branch
from
Open

Rewrite Project #475

wants to merge 99 commits into from

Conversation

alexmercerind
Copy link
Member

@alexmercerind alexmercerind commented Feb 24, 2024

TL;DR

I want to feel satisfied about the project & the work I've done.


I want architecture & implementation to be in a good shape. This calls for a major rewrite (and/or) refactor. The project has been in development for a good amount of time & over the time many compromises have been made:

  1. Many libraries & tooling was nonexistent previously. This lead to workarounds & hacks at multiple places e.g. caching media library into JSON. The media library has now been rewritten e.g. to utilize SQLite i.e. drift. This has simplified the business logic at multiple places. Similarly, migrating to newer packages is one task e.g. go_router.
  2. A lot of implementation has been open-sourced as independent projects e.g. most notably media_kit (really proud of my work in it, both architecture & implementation). It is important for the project to follow the same level of quality as the work previously derived from it.
  3. UI code is duplicated at multiple places e.g. different widgets for all screens e.g. AlbumScreen, ArtistScreen, PlaylistScreen etc. even though they are relatively the same. This was previously done without much of a second thought, however it is indeed increasing the amount of time required to make any changes e.g. 4.
  4. Material Design 3 has been released recently. It will be a good decision to refactor project so that both Material Design 3 & Material Design 2 are supported and any future theme changes can be made extensively.

There are many other reasons as well. During this period, I have also evolved as an engineer & have learnt a lot more about software development in general (now that I'm about to graduate). It's time to put those ideas into practice here as well.

@ryzendew
Copy link

can you add builds to actions please i would like to test and give feed back

@alexmercerind
Copy link
Member Author

Thanks a lot for your interest @ryzendew. You may join our Discord to provide feedback, where I share updates etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants