Skip to content

Page Service

The Page Service is responsible for managing, loading, and preparing pages for users on the Platon platform.
It retrieves pages from the database, assembles their components, and ensures fast performance through caching.


Overview

The Page Service provides the following capabilities:

  • Load pages from the database
  • Dynamically identify and assemble page components
  • Build hierarchical and modular page structures
  • Check access rights for users to pages and components
  • Ensure fast page rendering using cache
  • Manage public and private pages
  • Periodically synchronize pages using a scheduler
  • Log errors and information to a centralized system (via NATS)

Architecture Components

  • Page Loader: Retrieves pages from the database or cache
  • Component Loader: Identifies components within pages and assembles them
  • Access Validator: Checks user permissions for pages and components
  • Cache Manager: Stores pages and components in cache and updates them as needed
  • Scheduler: Automatically refreshes page cache at defined intervals
  • Logging Service: Sends errors and operational logs to a centralized system (NATS)

Page Management Capabilities

  • Distinguish between public and private pages and adapt access based on user permissions
  • Dynamically prepare page content according to user requests
  • Build page structures modularly based on components
  • Merge user-submitted data (request body) with pages
  • Handle dependencies and relationships between pages and components recursively

Cache Capabilities

  • Store pages and their components in cache
  • Ensure fast access and reduce server load
  • Automatically refresh pages at configured intervals
  • Add new or updated pages to cache automatically
  • Remove obsolete or unnecessary pages from cache

Conclusion

The Page Service manages pages on the Platon platform using a modular and component-based approach, prepares pages according to user permissions, and ensures fast rendering through caching.
It supports both public and private pages, assembles page components, and logs errors and operations to a centralized system.