Frontend — Next.js and components
Next.js App Router, React and TypeScript organize the web application. Cake UI and Tailwind tokens provide controls and styles; a styled-components registry integrates component rendering. The auditing screen organizes documents and review states; the component demonstration uses sample data to explore interaction flows.
API — NestJS, validation and domain
The NestJS API separates user, notification and health modules. DTOs with class-validator and ValidationPipe apply transformation, whitelisting and rejection of extra properties; Swagger describes contracts. TypeORM maps users, roles and notifications to PostgreSQL. Role models and administrative checks organize access permissions.
Notifications — state and consistency
The service queries notifications by recipient and controls state changes in transactions. Conditional updates prevent regressions of resolved notifications; cache invalidation follows the change. SMTP transport is part of the email communication configuration.
Execution — separate services
Containers separate the frontend, API and PostgreSQL, with production targets and external database and mail configuration. Jenkins supports integration and delivery. This infrastructure organizes service execution and product evolution.