Hello!
Here is a technical sheet with what I want to do for the repo unification part:
- refactor the code according to the bloc architecture - Architecture | Bloc
- use cleaner Material UI elements, like in the mobile app, to make the code more maintainable - the design will, largely, be unmodified
- integrate the mobile codebase with the desktop codebase
- enable EVM and BTC support for desktop app
- bring more safety features into the desktop app (secure storage and local authentication, for a start)
- replace Hive library with drift, as Hive was replaced by Isar, but Isar itself had it’s last update 17 months ago
- replace walletconnect_flutter_v2 with reown_walletkit, because the former has been discontinued
- audit the current packages that we use: those that are not constantly updated should be replaced by other ones, or check if they can be replaced by features from the Flutter SDK
- create flavors for apps (prod, test, dev) so that when testing the app, you can skip, for example, the unlocking of your wallet
- use the new Dart language features created in the last 3 years
- establish Dart analyzer rules that the code pushed into the repo should follow
- use isolates for the UI blocking operations
- write unit tests
- write comments for the code that will be a part of the documentation
- bug fixing
If somebody wants to help with any of the tasks, let’s discuss on the SIG matrix chat. Please specify how many hours per week you can dedicate for your desired task.
From what I understood chatting with the others developers on the matrix chat, they are okay with me doing the whole project. Please correct me if I’m wrong. I am also okay with integrating others in my effort. I can provide documentation and guidance for the mentioned tasks.
I haven’t posted here as often as I hoped, but I want to inform the community that work on the refactoring has already started. After this step is done, I will be able to work also on proper end user features, like EVM and BTC support. In the meantime, I was able to make some changes to the current codebase in order to support the latest Flutter version. Details here: Upgrade dependencies by maznnwell · Pull Request #128 · zenon-network/syrius · GitHub