Most content management systems on the market use a system very similar to the one described, including modules, category management and organisation into components.
One task that remains complicated in every system I know is placing particular content at a particular position, a very common requirement for site administrators.
In Joomla, for example, front-end content is configured through modules: each module's scope is defined by specifying the pages and positions where it should appear, together with the privilege level if an ACL system is in use.
One aim of this final-year project is to outline a system that, unlike the others, configures front-end content through pages rather than through modules.
The point is to configure pages by choosing which modules they display and how, instead of choosing where each module appears. It may seem a minor distinction, but in my view it is a major step forward in managing and organising content.
Pages are the final products or views of our application: they form the front-end output.
To simplify matters, we view the whole front end as a collection of pages. The first argument in the URL therefore identifies the page. Here are some examples for our publishing scenario:
Home https://borjaabad.com
About us https://borjaabad.com/about-us
Privacy policy https://borjaabad.com/privacy-policy
Contact https://borjaabad.com/contact
Section https://borjaabad.com/section/3/culture
News https://borjaabad.com/article/123/exhibition-well-received
To summarise: