Overview
SafeHouse IO is an open source application, with the basic idea of providing a system based book for keeping track of passwords and transactions such as airdrops and ICOs. The system is designed to work with an SQLite database file in the resource directory where all the details are kept and pulled from. Details can be seen in the repo below.
In this blog I'll be communicating the limitations of the current system and how I intend to address and resolve as many as possible while keeping everyone interested in touch.
Current limitations
The following issues were noted while reviewing the current system again after a while:
- Data flow limitation: Due to the limitations on the code structure and SQLite, data cannot be pulled simultaneously as only one connection can be open at a time.
- Unstructured UI: Yes the user interface looks colorful and a little bit attractive at the moment but it isn't ideal for what it is expected to do and there seems to be some inconsistencies in the presentation of data pulled from the database.
- Code structure: While reviewing the current code, I noticed a lot of unnecessary iterations and code repetitions that are a waste of system resources so that would be handled also.
A more comprehensive explanation of all these issues will be put in the repository as changes are being made. For now let's take a look at the proposed/incoming architecture.
Proposed Architecture
While the previous system connects to the database directly and cannot be termed Safe in the full sense of it, the new system replaces the direct connection to the database with a service (spring boot service), this will take out all direct connection to the database thus providing another level of security for the application that will fight SQL injections since the application no longer sends direct requests to the database.
The new user interface is yet to be developed, the idea is to use the API first methodology allowing us create the service first before going ahead to build an interface that can effectively communicate with the service.
Conclusion
I have decided to work with Scrum methodology, thus updates will come in weekly starting 10th July, 2021.
Thanks for following, I really appreciate and hope to see your comments, questions and suggestions.
FYI I'm a member of Hive Naija and I'm proud to welcome you to our community.