Back to projects

Task API

REST API for task management with JWT authentication, role- and ownership-based access control, data validation and a test suite. The system models users and tasks on PostgreSQL and is fully dockerized.

Node.js Express TypeScript PostgreSQL

My role

Task API is designed as a solid, reusable backend foundation for any task management application. The architecture separates HTTP transport from business logic and data access, so each responsibility stays isolated and is easy to test and maintain. Authentication, role- and ownership-based access control, data validation and Docker packaging all build on top of that structure.

Key features

Impact

The result is a robust, typed and secure API that serves as a solid foundation for any task management application. Role- and ownership-based access control ensures each user only operates on their own data, while validation and centralized error handling keep responses consistent. The combination of automated tests and a fully dockerized setup makes it possible to spin up the project and verify it works correctly with a single command, easing development, review and deployment.

Technologies

Technology Use / Implementation
Node.js · Express Server and REST API, with a modular architecture (routes, controllers and services).
TypeScript Static typing across the whole project for greater robustness and maintainability.
Prisma ORM and versioned migrations over PostgreSQL; modeling of users and tasks.
PostgreSQL Relational database for users and tasks.
JWT + bcrypt Token-based authentication and secure password hashing.
Zod Data validation at the edge of each API operation.
Vitest + Supertest Unit tests of the service and end-to-end tests of the endpoints.
Docker + docker-compose Containerization of the API and PostgreSQL, with automatic migrations on startup.