factor out common tools
We have implemented a set of tools, first in API and then copied them over to backend. The problem is that whenever an adjustment is made to a tool in one project, we usually want to replicate the change in the other project. This will get worse as we copy these tools to other projects.
We need to factor out common tools into another project and then make them available for other client projects to use.
There are several ways we can make the common tools available to client projects. We could build one or more Docker images and store them in a common place, and then client projects can consume them. This is probably the ideal solution. But this means learning how to distribute multiple images from a single project, or we would need to split the tools into separate repositories. (I think a single repository is probably better because there is probably other documentation and/or template files that we may want to distribute to clients.)
A short-term solution would be to use git submodules to extract common tools into a separate repository. This could be done rather quickly, and then slowly evolved into a better solution, including the ideal solution mentioned before.
I suggest the following plan:
-
https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/tools Create a common-tools project within the GuestInfoSystem group (this will eventually move to "common services"; but until we know it's good...). -
guestinfoapi!72 (merged) Integrate into API -
Integrate into Backend -
Integrate into Frontend