Closed dylan-asos closed 9 months ago
Hi Dylan,
First off, thank you for the contributions and suggestions! We are definitely open to any contributions to make our tool better, and be a cleaner, more efficient codebase. The recommendations you have made make a lot of sense and I think could really improve the code. We are definitely open to you submitting updates if you think they will be improve the tool and make it a better solution.
For the contributions, we have a defined PR process where all PRs are submitted to the dev branch, then merged into the main after through testing/approval. If possible, can you update your PR to be to the dev branch? Thank you!
I'm going to close this as although it states intent, I'll create more targeted issues that I can raise PRs against + will just reference this for a bit of history, otherwise this issue will hang around for ages.
Is your feature request related to a problem? Please describe.
Thanks for the effort on this app, it does a lot of what I want!
In order to host in Azure Kubernetes Service, the solution needs a few refactors, mainly around logging to conform to https://12factor.net/logs and in particular write to stdout to make pod debugging significantly easier
Would need to add liveness and heath check endpoints for the k8s to manage + a few other bits. I'm happy to pick this up and will raise a series of small, incremental PRs that reference this issue, if that's OK with you.
There are some additional patterns you could take more advantage of, i.e.
A lot of your classes seem to use static methods extensively. If you used instances and let DI create them, then you could inject other items (such as ILogger),
Quite a lot of duplication - some general extractions and tidy up would reduce code considerably.
try/catch - a global handler could probably do a lot of the work and achieve what you want, which would unwind the repeated try/catches through the layers.
Overall - there's a few approaches that would reduce the amount and complexity of the code, and hopefully make it easier to maintain. If you're not against these, I'll contribute small changes that aim for these goals over time.
Additional context Add any other context or screenshots about the feature request here.