Project Spotlight

Team Management

A cloud-hosted team tracking workspace built with React, Fastify, Prisma, and PostgreSQL. Each registered account owns an isolated environment for projects, team members, tasks, dashboards, and calendar planning.

Workspace Isolation

Every account manages its own projects, members, tasks, dashboard, and calendar data without cross-account leakage.

Secure Account Flows

Cookie-based sessions, email verification, and password reset flows use purpose-specific 6-digit OTPs delivered through SMTP.

Full-stack Delivery

A shared TypeScript workspace keeps React client forms, Fastify APIs, Prisma persistence, and validation schemas aligned.

What I Built

I built a production-oriented team management tool for managers who need a practical workspace for project planning and task tracking. The application combines authenticated account ownership with structured project, member, task, dashboard, and calendar workflows so each manager can coordinate work from a single cloud-hosted interface.

3

Workspace apps

6-digit

Email OTP flows

1

Isolated workspace per account

Key Features

  • Multi-account registration with email and password credentials.
  • Email verification through 6-digit OTP delivery over SMTP.
  • Forgot-password recovery with a separate purpose-based OTP flow.
  • Cookie-based authenticated sessions for browser-first usage.
  • Per-account isolation for projects, members, tasks, dashboard, and calendar data.
  • Manager-owned team member records for organizing work without requiring every member to sign in.
  • Project, task, dashboard, and calendar views built as a cohesive React workspace.
  • Shared DTOs and Zod validation schemas used by both the client and server.
  • Prisma migrations and PostgreSQL persistence for reliable relational data modeling.
  • Ubuntu production deployment script with Node.js, PostgreSQL, PM2, build, and migration steps.

Technical Architecture

The workspace is split into a React client, a Fastify server, and a shared TypeScript package. Client flows use React Router, TanStack Query, React Hook Form, Mantine, and FullCalendar. The server exposes authenticated Fastify routes backed by Prisma Client and PostgreSQL, with Zod schemas and shared DTOs keeping request and response contracts consistent across the stack.

Stack at a Glance

Client

React, Vite, React Router, TanStack Query, React Hook Form, Mantine, FullCalendar

Server

Fastify, Prisma Client, PostgreSQL, Zod, cookie-based sessions, SMTP email verification

Platform

TypeScript workspaces, shared DTO package, Prisma migrations, PM2 production process, Ubuntu deployment script

Developer Experience

The monorepo provides workspace scripts for setup, development, builds, tests, linting, and strict TypeScript checks. Shared validation and DTO definitions reduce drift between the React client and Fastify server, while Prisma migrations make database setup and deployment repeatable.

Outcome

Team Management is deployed as a live cloud-hosted tool for organizing projects, team members, tasks, dashboard insights, and calendar planning under isolated manager accounts. The architecture keeps product workflows cohesive while preserving clear boundaries between UI state, API contracts, authentication, and persistence.

Visit the live Team Management application to see the workspace experience in production. https://mgteam.softaware-tools.gr/.