Epitech projectSoftwareWeb applicationDevOpsShipped

Time Manager

A time, team, and activity management application.

A web time-tracking app for employees and managers, built by a team of 4. I was project lead and lead backend developer.

Context

A web app meant to digitize time and team tracking: employees, clock-in/time, calendar, statistics, and manager views.

Team

Team of 4 students.

Role

Project lead and lead/principal backend developer, a dual role combining coordination and technical delivery.

What was built

React/TypeScript frontend, Node/Express/TypeScript API, PostgreSQL persistence via TypeORM, JWT authentication, Docker Compose environment with Traefik. Delivered features: employee/manager accounts, a break timer, a personal dashboard, presence/lateness/hours-worked indicators, an on-site/remote calendar, individual and team statistics, user management, a REST API, TypeORM migrations, and demo seed data.

Architecture

React → Express/TypeScript API → TypeORM → PostgreSQL, all orchestrated via Docker Compose with Traefik as the entry point.

Media gallery

Diagram / architectureArchitecture

Technical decisions

  • TypeORM + PostgreSQL for persistence

    The backend layer relies on TypeORM on top of PostgreSQL, with versioned migrations.

  • Fully containerized environment

    Docker Compose orchestrates the frontend, backend, database, and Traefik as the entry point, for a reproducible environment.

Stack

React 18TypeScriptNode.js 20ExpressPostgreSQL 16Docker / Docker ComposeTailwind CSS

Skill → evidence

  • Leads a team project end to end

    Project lead and lead backend developer on a 4-person team: the project was well received.

  • Builds a REST API with auth in Node/Express/TypeScript

    Express/TypeScript API with JWT authentication, TypeORM migrations, and dedicated employee/manager endpoints.

  • Containerizes a full stack for a reproducible environment

    Docker Compose orchestrating the frontend, API, PostgreSQL, and Traefik.

Results

A functional app, cleanly structured across front/back/database, with an API, business features, Docker Compose, and a backend testable via `npm test`. The project was well received.

Limitations

The GitHub Actions CI called for in the brief wasn't set up. The project also doesn't have a published test-coverage measurement.