adfinis / timed

Monorepo for the Timed time-tracking application
GNU Affero General Public License v3.0
6 stars 5 forks source link

[ENHANCEMENT]: Microservices & Utils #167

Open hairmare opened 4 months ago

hairmare commented 4 months ago

Your proposed enhancement

This isn't related to a functional requirement, but it makes sense in the context of the monorepo merge.

We should enable this repo to contain more than just a monolithy backend and frontend.

Enhancement Impact

We gain the capability to deploy and run server-less style workloads.

Additional context

Some of this is already covered by the CronJobs that are currently configured to run in our Helm chart. There is also timedctl and other similar efforts that fall under the "utils" umbrella.

What is making me write this, is @c0rydoras's idea to remove generating reports (e.g. csv, ods, etc.) from the backend monolith and delegating it to some microservice.

csv, ods, etc. microservice

an example the ods/csv/xlsx stuff could be delegated to a microservice that is not publicly exposed, henceforth it doesn't need to know auth, that takes some JSON and spits out the requested spreadsheet. This micro-service could then be used by the django api.

As this microservice is quite simple it doesn't need to be written in django.

This would allow us to remove the excel/ods dependencies from the django api.

Required

hairmare commented 4 months ago

I should also write up a competing proposal that just tells us to do much much more in metabase with a bunch of views, but that is less fun :woozy_face: