I have this conondrum I have to deal with. We have this already pretty big application which main purpose can be classified into 2 main functions:
- Core data (deals with a pretty complex data relationships and data analysis).
- Data presentation/visualization (this is the piece that keeps growing, the reasons to come next.)
This information presented to the user is done in all sorts of unpredictable ways. There is really no way to automate or predict what the users will come up with next time they request a new data visualization. Currently, specialized code is build as part of the main solution for every visualization requested. This has been going for years, and we have come up with ways to standardize and classify what is common and repetitive, however the code keeps growing and growing increasing complexity and complicating automated testing (600 visualization so far). One important characteristic about this visualizations is that they are only useful for a while, after they are used they become disposable. We can’t really dispose of them in about a month after they are used. But in the meantime we want to keep them around for support purposes and as reference for future pieces.
The question is there a way to maintain this?
Someone recommended using docker and containerizing all individual data visualizations (Views and all directly coupled code), but that feels like an overkill to me and doesn't really solve the ever-growing code problem.
Project is a .Net core MVC.
Any ideas, or previous experience that have worked?