I am trying to begin planning of a system that would be both client management, and document management, with tools built in to do analysis on all of the transactions, etc.
I’m wondering what are the considerations I need to be mindful of at the beginning stages so that when I need to scale up I haven’t shot myself in the foot in the beginning.
I also need to make sure that it is mobile accessible and not just traditional web accessible.
I’ve never done a large scale system like this and I have ample time to plan so any suggestions are much appreciated.
Edit
I also need to make sure that the handling of data would be secure because it would be sensitive client data.
4
You need to think of at least three distinct systems in the beginning.
- Backend/API
- Web interface
- Mobile Application
And, later on think of an additional system
A. You need to build the Backend/Server/API such that it is only concerned with data. Read about REST based APIs to start with. This API should most preferably receive and return data in JSON. The benefit of building the system like this is that view(s) are very clearly separated from data.
B. You can work on 2 & 3 in parallel. You can use javascript mvc framework for Web. Also, read a bit about the MVVM design pattern.
There are several frameworks that may provide this flexibility, and one of them is ASP.NET MVC latest version. This framework creates a mobile ready MVC 3.0 project using the Razor’s view engine and jQuery mobile. Both mobile and desktop versions can be tested using mobile emulators or browsers.
More information for reference:
- Mobile Ready HTML5 MVC.NET
- ASP.NET MVC 4 – Default template changes and Adaptive Rendering using Viewport and CSS Media Queries
- Mobile Support in ASP.NET