Task ManagerEnterprise-Grade System

A full-stack collaborative task management platform showcasing modern web development practices, role-based access control, and enterprise architecture patterns — built solo, end to end, with a production-grade testing and CI/CD discipline behind it.

Group Collaboration

Organize tasks within groups with fine-grained role management. Supports supervisor, editor, user, and viewer roles with distinct permissions for optimal team collaboration.

Advanced Permissions

CASL-powered authorization system with context-aware permissions. Rules cascade across user levels, group memberships, and task ownership for secure, flexible access control.

Task Management

Create, assign, and track tasks with deadlines and completion states. Permissions prevent -among other things- deletion of completed group-level tasks and ensure data integrity across team workflows.

Platform Capabilities

JWT Authentication

Secure token-based auth with refresh tokens, bcrypt password hashing, and session management

Multi-Role System

Admin, manager, and user access levels with granular group-level role assignments

Groups

Organize users into groups with group-specific permissions and task assignments

Field-Level Security

Protect sensitive fields like passwords and enforce business rules at the permission layer

Technology Stack

Frontend

Backend

Common Layer

  • Zod - Schema validation library
  • CASL - Authorization framework
  • TypeScript - Shared type definitions

Testing

Infrastructure

Architecture Highlights

Monorepo Structure

Three-package architecture with clear separation of concerns: frontend, backend, and shared common layer for types and business logic

Type Safety

End-to-end TypeScript with Zod validation ensures runtime type checking and compile-time guarantees across the entire stack

Permission Model

Centralized CASL ability definitions in the common package ensure consistent authorization logic between client and server

Modern Runtime

Bun runtime provides exceptional performance with native TypeScript support, faster startup times, and built-in testing utilities

Testing & CI/CD

Unit, component, integration, and end-to-end tests, all gated on every pull request alongside a Docker image smoke test and coverage tracked against a rolling main-branch baseline. This process has caught and fixed real issues before deployment — including a privilege-escalation vulnerability — not just chased a coverage number.

This project demonstrates comprehensive full-stack development skills including:

API DesignDatabase ModelingAuthentication & AuthorizationState ManagementType SystemsTestingSecurity Best PracticesModern Tooling

Built solo, end to end — from database schema to cloud deployment — as a self-directed deep dive into production engineering practices.