How to build a common infrastructure for my web apps using asp.net mvc, and efficiently manage it?
The goal is to increase developer productivity. The common infrastructure stuff includes visual & interactive components like customizable menus, consistent web page layout, consistent navigation experience, breadcrumbs, etc. It will also have some api's for user & role management.
So this platform/infrastructure will have its own database & tables (which can be deployed using entity framework). But there are other things which I don't have an answer to:
The database will also have user defined types, stored procs, etc. How should these get "deployed" (or adopted) in the target application?
There would be a set of controllers and views intended for user and role management. They need to be a part of the target project. What is the best way this can be included?
Just to outline the kind of experience a developer should get:
- He'd start an MVC project.
- Run some command (suitably in the IDE itself - I am thinking powershell or NuGet)
- And he should get working...
- At some point later, there would have been some updates in the platform...how should they be updated...the problems he might face here...how to resolve them...etc...?
How to design such a infrastructure project?