Currently the project is not very maintainable. The main reason was that the project was built on heavy time constraints, so architecturally it is fairly weak. The main problem is the lack of separation between view and presentation logic (among other things), and it also suffers from callback hell.
The main objectives are:
Rewrite the main flow to Kotlin. In the end, it would be ideal if all code is in Kotlin, not only for the implicit benefits of the language, but also for the multiplatform aspect of it. In the end, this will be a progressive goal, but at least the main screen should be rewritten to it ASAP.
Use of reactive paradigm, most likely RxJava. This will help alleviate a lot of the callback hell that exists currently and it's the general trend of modern paradigms. Coroutines might also be used.
Implementation of MVVM architecture. Currently there's pretty weak separation of concerns in the code, and there's a good framework already for JavaFX, mvvmFX.
Currently the project is not very maintainable. The main reason was that the project was built on heavy time constraints, so architecturally it is fairly weak. The main problem is the lack of separation between view and presentation logic (among other things), and it also suffers from callback hell.
The main objectives are: