Development of the Client Application for Task Managemet System

Abstract

This thesis presents the design and implementation of a client application for a task management system built with React, TypeScript, and Vite on the frontend and Express, Prisma ORM, and PostgreSQL on the backend. The system defines two user roles, Author and Solver, and enforces a five-state task lifecycle (Pending, Started, Completed, Approved, Rejected) through a server-side transition map. Real-time communication between the server and connected clients is handled by Server-Sent Events, where each event is scoped to the affected user through a registry of active connections. The frontend renders role-specific dashboards: Authors create, assign, edit, approve, and reject tasks; Solvers start and complete them. A lifecycle stepper component visualizes the current position of each task in the workflow. A deadline countdown system displays live time-remaining values for Solvers and static formatted dates for Authors, with color-coded urgency levels. The interface adapts to different screen sizes through responsive CSS breakpoints. The system was tested with 68 manual test cases and 15 Playwright end-to-end tests covering core CRUD and authentication flows, real-time SSE delivery, dynamic deadline tracking, and responsive UI layout.

Description

Delayed publication

Available after

Subject(s)

Task Management, React, TypeScript, Express, PostgreSQL, Prisma, Server-Sent Events, JWT, REST API, Real-Time Communication.

Citation