Right now Private Invoice is at the point where the tray module has been cleaned up. The next step is to continue to analyze and break down more modules so that they can be simplified and documented to be able to port them over to TypeScript, as well as be able to write continuous integration tests for each one of the modules.

Possible next areas to identity are:

  1. Simplify contact end point names
  2. Simply Invoice module
  3. Update Session module
  4. Update settings module

Simplifying the contacts end points definitely seems like low hanging fruit. We should be able to do this without having to managing any dependencies. The only work to be done here is to rename the endpoints, update the documentation, update the client application, and then update the postman collection.

Because I know how much work that is, I'm interested in looking into what other areas can be addressed before coming back and doing that kind of clean up. The big lift here would be to start looking into the invoice module to see what can be done there. That might be something that takes a while and could or should be put off until the other areas of the application would be addressed.

Two other smaller areas to look at would be the settings and session module. I think these might be somewhat interconnected. The settings module should probably be split out into members and organizations. Session should be updated to not include the createOrganization end point. And I'd also be really tempted to look into using tokens instead of cookies to manage the application. But that might be a separate issue outside of cleaning up the modules. So that's something that could be its own post/issue.

Right now it seems like cleaning up settings and session seems like the next logical step. I think this will invoice creating three modules, member, organization and wallet. Member will have the functions required for updating users, Organization will have the function for creating and updating an organization. And Wallet will have the functions for mnemonic, key creation, signing and verifying with a decentralized identifier.