Skip to main content
Client confidentiel

Practitioner Directory & Booking Platform

Patient-practitioner matching and secure medical document management, for a confidential wellness-sector client.

Freelance development (contributing to a team)

Angular NestJS MySQL Redis TypeORM
20,000
Practitioner records (test dataset)
9
Issues fixed in one session
10
Minutes of document URL validity

The challenge

A confidential client in Morocco's wellness and alternative-medicine sector needed a platform connecting patients with practitioners — search by specialty and city, practitioner profiles, appointment booking — plus a dedicated portal letting each practitioner manage their own schedule, availability and patients. The project also carried a real confidentiality requirement: patients needed to share medical documents with one or more practitioners in a controlled way, without ever exposing those documents publicly.

The solution

Saad contributed to this platform's development alongside a team, on an ongoing freelance engagement. The architecture runs a NestJS/TypeORM/MySQL API serving two separate Angular frontends — a public site for patients (search, a Leaflet map, appointment booking) and a dedicated practitioner portal (a FullCalendar agenda, availability management, an enriched patient list with visit history).

  • Patient-side search and booking, with reservation statuses (upcoming, past, cancelled)
  • Practitioner agenda with appointment confirmation, cancellation and completion
  • Medical document management: upload, explicit per-practitioner permissions, an audit log of every view and download

The results

The platform was designed and tested against a realistic dataset of nearly 20,000 practitioner records spanning major Moroccan cities (Casablanca, Marrakech, Tangier, Mohammedia...). A dated fix pass resolved 9 concrete issues in a single session (a stale copyright year, dead links, an incomplete safety message, a mobile display bug, a misconfigured booking button) — a point-in-time verification pass rather than a formal quality audit. Deployment targets a dedicated hosting environment, distinct from the development setup; genuine production usage by real patients and practitioners is not independently confirmed at this stage.

Methodology and project management

The appointment-booking feature was deliberately built "frontend-first" — a complete interface backed by local mock data, paired with a dedicated specification document precisely detailing the backend endpoints still needed (statuses, cancellation reasons, duration, consultation type, availability management). This deliberate choice validated the user experience before committing to full backend development. The original scope — a 60+ screen prototype including marketplace concepts — was deliberately narrowed to a more focused product: directory and booking, without the originally-envisioned e-commerce features.

Technical architecture and performance

Document management relies on explicit per-practitioner permissions (a dedicated join table) combined with short-lived signed URLs (10 minutes) rather than direct file links, plus an audit log recording every view, download or deletion. As a production-data safety discipline, schema migrations are exclusively manual (TypeORM synchronize disabled) — a rule documented as non-negotiable in the project's own internal standards. Caching runs on Redis, with JWT authentication and bcrypt password hashing.

Delivery Risk Audit

Common questions about this kind of engagement

Have a similar project?

Get in touch to discuss it.

Chat on WhatsApp