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

Start here

Repository handbookRepository overviewDevelopment

System design

ArchitectureAuthentication and authorizationPublic dataAPI contractsSchemas
Schema referenceAcademic schemasPeople schemasCourse schemasResearch schemasProject schemasAPI transport schemas
UI system

Applications

Department Web applicationPeople applicationProjects applicationPortal application

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
Schema reference

Public schemas for project showcase records and their people, course, media, provenance, and lifecycle context.

Project schemas

SchemaResponsibility
ProjectTypeSchemaShowcase classification such as course, research, open-source, or collaboration.
ProjectStatusSchemaPlanned, active, completed, or archived lifecycle state.
ProjectPersonRoleSchemaA person's project-specific role.
ProjectPersonSchemaContributor identity with one explicit project role.
ProjectLinksSchemaOptional repository, site, documentation, demo, data, publication, and video links.
ProjectSourceSchemaManual, GitHub repository, or template-index provenance.
ProjectMediaSchemaRequired icon and optional cover image.
ProjectDatesSchemaStart, completion, and last-update dates with ordering validation.
ProjectCourseSchemaDenormalized course context displayed with a project.
ProjectCourseOfferingSchemaReference to a canonical course offering.
ProjectSchemaComplete showcase record and cross-field rules.

A course project must reference an offering. People roles are intentionally per project; the schema does not infer a permanent role from a person's global profile.

Research schemas

Public schemas for research activity, publications, and conferences embedded in people data.

API transport schemas

Public request, response, error, mutation, operation, pagination, mail, and proxy contracts shared across deployment boundaries.

On this page

Project schemas