The document presents the development process of a typical web application through the case study of a CMS (Content Mangement System) from the collection of its requirements to the definition and execution of its test cases.
CMS services have many common properties with other web applications. Because of this, conclusions as well as methodological and architectural decisions in this document can be applied to the development of a wide variety of online services.
The overview of the domain is followed by the application’s specification. The requirement is a secure, highly scalable, distributed system with a redundant architecture, leveraging both server- and client-side rendering. The technologies it’s built upon should be chosen carefully in the design phase in order to ensure that both cacheable and personalized content pieces are served with the most effective tools.
The most appropriate client- and server-side technologies are introduced and chosen in light of these requirements. The application’s design, implementation and testing phases are documented in this thesis as well. After these, the used technologies are evaluated and a few opportunities for improvement are suggested.
While reading these sections the reader gets more and more familiar with the basic properties of online services, their typical security and scalability problems, certain architectures, the challenges of caching and personalizing pages, and the ways of testing these solutions. These topics and others included in the document may be useful for web developers.