chronic-care / mcc-project

MCC eCare Plan project planning and documentation
Apache License 2.0
0 stars 1 forks source link

Tech debt #339

Open kbertodatti opened 4 months ago

drbgfc commented 6 days ago

@kbertodatti @savanahmueller Some notes:

The most major tech debt is in the code itself.

1 I'm sure everyone can think of something, but, the most important one to me is the duplication of logic for single and multi providers when logging in on app launch vs logging in from the additional page. This shared code needs to be merged into single reusable functions which offer the differing but similarfunctionality, but don't require extensive simultaneous updates every time and testing. It is a complex task that I should take on.

2 In addition, and aligned, would be to separate the concerns in componentDidMount. The current state is messy. This is a general trend in the app that makes it hard to maintain (not enough separation of concerns due to time contraints in implementation).

3 Home.tsx should also be converted to a function component. There are others, but App.tsx and Home.tsx are the most vital because they are more the roots of the app. Small class based components elsewhere are not an issue. Althought, we shouldn't be creating new ones.

4 + 5 We need to resolve all of these compile-time and runtime warnings that are cluttering up the build console and dev console. Not only can they have side effects, but, they also make it hard to notice serious issues. This should be 2 separate tickets (if not more, for individual issues, if needed).

6 Once resolved, we should implement a process where one cannot commit with such bugs via an automatic tool.

I suggest we create tickets for all of these. Note: App.tsx -> function component is already created. I suggested we consider tech debt originally and those are the top issues IMO. Addressing the ones above allows us to work on the project more seamlessly/faster, makes it more maintainable, and not need to test as much/have less chances for bugs.

From there, the order of priority IMO is: react 18 node js common style config I'm not sure about the Null Flavor ticket so not sure where to place it. Is that really tech debt? I don't have an understanding of the req.