Our customer has a school administration system with many active users: most Danish teachers, students, and their parents use the system to collaborate and organise studying process.
The system provides rich functionality (about 250 pages) and works very fast. This is one of the major reasons for its success.
The school administration system was written in VBScript using Classic ASP. This engine was very old and had no support for many modern techniques and technologies. It was getting harder and harder to maintain the system and add new functionalities, especially with mobiles and tablets getting more and more importance and usage among users.
It became clear that the technology stack should be changed to something new without losing existing functionality. At the same time, it could be redesigned in order to make the system more stable and give better user experience on all platforms.
It was also obvious that migrating the whole system was impossible in a reasonable time. The new version of the system should run together with the old version while features were moved one by one.
ASP.NET MVC platform was chosen as the new main technology for the system. It was one of the top used and stable technologies for implementing web applications. LESS, TypeScript, RWD framework, SAML 2.0, OAuth2, OWIN, ASP.NET Web API and other modern techniques, protocols and interfaces were used to give users the best experience on all platforms. Stability and maintainability were achieved by introducing unit tests, automated tests and separation of architecture into layers.
The new system has a connection to the same databases and user file storages; it has Single Sign-On with the old version. The system now exposes new APIs for native mobile apps and integrations with 3rd party systems.
The customer upgraded the system and transformed the old-fashioned web application into a fancy, fast and cool tool for teachers, pupils and parents.
The new version was welcomed very well and showed that the system is modernising according to the needs of end users.