University of Peradeniya crestSCS Documentation
University of Peradeniya crestSCS Documentation
Department website

Start here

Repository handbookRepository overviewDevelopment

System design

ArchitectureAuthentication and authorizationPublic dataAPI contractsSchemas
UI system

Applications

Department Web applicationPeople applicationProjects applicationPortal application
Application internals
Department Web internalsWeb content and navigationWeb routing and proxying

Services

API serviceGitHub App serviceMailer service

Shared packages

Schemas packageUI packageTypeScript configuration packageESLint configuration package

Development workflow

Testing and verificationDependency managementDocumentation authoringUI quality assurance

Operations

Continuous integrationEnvironment variablesOperationsSecurityTroubleshooting

Reference

Route referenceGlossary
Application internalsWeb internals

How departmental MDX pages, composed content components, product boundaries, metadata, and discovery files fit together.

Web content and navigation

Editorial pages live as page.mdx files under src/app. Route groups organize source without changing public URLs. The current corpus covers the home page, about, resources, undergraduate and postgraduate study, research, services, societies, prizes and scholarships, and contact information.

MDX pages compose app-owned components such as page shells, introductions, sections, pathways, and quick links. The MDX component map does not redefine native Markdown elements. Reusable shadcn primitives and theme tokens come from @scs/ui; institutional composition remains in the Web app.

Navigation ownership

Primary navigation contains local departmental content. Secondary navigation contains less prominent local pages and direct links to the People, Projects, and e-learning products. Every item declares whether its destination is local or an external product:

  • local links use Next.js Link for client navigation;
  • external-product links use a native anchor so the browser performs a full document navigation to the other origin.

This prevents a Next.js React Server Component request from being followed through a cross-origin redirect. The departmental header must not grow Portal administration actions or duplicate the People and Projects navigation models.

Metadata and discovery

The root layout establishes the canonical site metadata, title template, social image, manifest, favicon set, theme colors, and English locale. Individual pages export their own title, description, and canonical path through the shared metadata helper.

The sitemap lists only local editorial content with explicit priorities and change frequencies. Cross-product redirects and personal proxy routes are not departmental content pages and are excluded. robots.txt is generated by the application's route metadata.

The advertised /feed.json, /feed.xml, and /rss.xml handlers currently return a small { "status": "ok" } response and permissive read-only CORS preflight; they do not serialize the MDX corpus as a syndication feed. Do not document or consume them as real JSON Feed, Atom, or RSS content until their response contracts are implemented accordingly.

Department Web internals

Runtime map of departmental MDX content, navigation, metadata, redirects, personal-site proxying, and discovery routes.

Web routing and proxying

Cross-product redirects, historical PHP-path normalization, personal-site lookups, timeout behavior, and trust boundaries.

On this page

Web content and navigationNavigation ownershipMetadata and discovery