The next step for Private Invoice is to start cleaning up the back end. We have a small laundry list of updates that we need to figure out how to get through. These are as follows.
- Create a merge modules
- Clean up unused end-points
- Clean up unused code
- Clean up the database
In the case of modules, we have a lot of places in the backend where I copied the same code and pasted it where it was needed. So we'll look at places where this happened and continue to try and make progress on this front with out breaking it. And hopefully we can get by the rule of ugly code is working code.
The next step is to clean up unused end-points. I think in practicality there is only one IPFS end point that's completely not needed. But in practicality we have a lot of tray and invoice end points that could probably be merged by passing in paremeters instead of having verbose end point declarations.
Cleaning up unused code will probably come in while doing these two tasks. This might not be something that I need to write as its own bullet point, but while I'm going through this I might take a second to make note of types and start writing comments to indicate which arguments are used where.
The next step is a bit more intensive than the other two. And that is to clean up the database. This can be contrasted with contacts versus invoices. Later on in development I found a pattern to repeat the same data twice with the sender and receiver swapped in the same table. I think this could be replicated with the invoices and other places that have the table split entirely. This would reduce the number of tables and bring down the complexity of the project over all.
Overall I'm hoping that the result of these edits allows for the end result to end up looking like a tiny weekend project with how simple it is. There isn't anything that's inheriently complex about this project and I hope to reflect that with a small footprint to be able to have something to build on top of, instead of throwing more rocks on a haphazardly put together pile.