André Moleirinho · Projects

2023 · Creator & sole developer · Completed

Coaching Scheduler

A fullstack NestJS + Angular platform for booking 1-on-1 coaching lessons.

Coaches publish 2-hour availability slots, students browse open slots across every coach and book them, and coaches confirm bookings and log each lesson afterwards with a 1–5 satisfaction score and notes.

A NestJS REST API on PostgreSQL through TypeORM, documented with Swagger/OpenAPI, behind an Angular 16 app styled with Tailwind CSS and Angular Material.

Highlights

  1. NestJS 10 feature modules (coaches, students, slots, lessons) with validated DTOs, a versioned /api/v1 prefix and Swagger docs.
  2. TypeORM entities on PostgreSQL with a slot lifecycle (Available, Booked, Scheduled, Past) and Coach–Slot–Student relations.
  3. Overlap detection removes conflicting 2-hour start times for the chosen day and enforces business hours.
  4. Lazy-loaded coach and student modules, OnPush change detection and an RxJS BehaviorSubject cache.
  5. Reusable standalone components (star rating, card, spinner) and Material dialogs that go full-screen on mobile.

At a glance

Role
Creator & sole developer
Years
2023
Source
github.com/afmoleirinho96/coaching-scheduler

Stack

  • NestJS
  • Angular
  • PostgreSQL
  • TypeORM
  • Swagger
  • Tailwind CSS
  • Angular Material
  • Vercel

Built with TypeScript.