We use the Model–View–Controller (MVC) architecture to develop the web application. The MVC architecture has three layers, with good separation between the data model, the visual interface, and the interaction between both. The model layer contains the data definitions and the business logic. The view layer contains the user interface, which may be web-based or not. The controller layer contains the code responsible for handling the application flow, i.e., the glue between the model and the view. Using such frameworks, the components are developed in a very short time. However, the existence of so many MVC frameworks for almost every platform and language revealed to be a problem, because we needed to choose amongst several of them. In addition, we were starting from scratch, without any constraint or preference on the platform, so we could choose between any existing MVC. We reviewed the remaining systems platforms.
We needed to choose between a rich enough platform for rapidly developing the applications and that was suitable, We defined a set of requirements to compare these three frameworks in more detail. At this point, we went further and created sample applications in all three frameworks, to simulate the development process. The applications had database access, user access control, and test interfaces. We found little bugs related to the standard generation, thus it was possible to concentrate on the new functionalities. The choice of the framework was really helpful to develop both applications. There was a flagrant increase in productivity from the first system to the second one because the students already knew the framework and the core concepts when they started the development. We implemented more functionalities in a shorter time. We also diminished the number of periodical meetings and close tutoring, since the tasks were more easily understood. This means the students acquired a good degree of independence. The quality of the developed applications was also very satisfying.