Need assistance?

Chat with me on WhatsApp

Back to Projects
DentOS — Dental Clinic Management SaaS  screenshot 1
Web Application

DentOS — Dental Clinic Management SaaS

NextjsTailwindmongoDBexpressnodejsJWTpdfmakeChart.jsREST API
Live ProjectSource

Overview

A multi-tenant, production-grade dental clinic management SaaS delivered solo across 16 implementation phases and 36 sprints — from core clinic operations through a patient portal, inventory, finance, CRM, real-time chat, platform administration, a public website builder, and custom-domain management. Every tenant's data is fully clinic-scoped and isolated behind RBAC, and the system shipped with a real, code-grounded production-readiness audit: 336/336 backend tests passing, a full 21/21 Playwright end-to-end suite covering 4 canonical user journeys (clinic onboarding through booking, clinical session, invoicing, and payment; patient self-service; platform administration), and a real executed backup/restore drill against seeded data — not just a written runbook.

My Role

Sole developer across the full 36-sprint roadmap: multi-tenant architecture with clinic-scoped data isolation, a checkbox-based RBAC and feature-flag system gating all 21 backend route modules, the clinical/finance/CRM/chat feature set, and the production-readiness pass itself — authoring the E2E test suite (which caught two real bugs, including a signup form validation gap and a plaintext-secret storage issue, both fixed the same sprint), running the backup/restore drill, and reconciling the technical documentation against the shipped code.

Under the Hood

Modules & Features

Multi-Tenant Architecture & RBAC

Every module — patient data, inventory, finance, CRM, chat, audit logs, even clinical tooth-chart data — is scoped per clinic and verified isolated both through list-endpoint filtering and direct-ID access attempts. RBAC uses a checkbox-based permission model with feature-flag gating across all 21 backend route modules; a role granted zero permissions is correctly blocked everywhere, and a role granted exactly one permission unlocks only that resource.

Patient Portal & Clinical Module

A self-service patient portal (signup, verification, login, booking, and doctor chat) backed by a clinical module for session records and tooth-chart data, all clinic-scoped.

Inventory Management

Full catalog, warehouse, and stock tracking, plus treatment-time consumption — so stock levels reflect what's actually used during patient care, not just manual adjustments.

Finance

Invoicing, payments, expenses, and cost-of-goods-sold tracking tied directly into clinic operations and reporting.

CRM & Loyalty

Follow-ups and contact history for lead and patient relationship management, plus a loyalty program layered on top of the booking and invoicing flow.

Real-Time Chat & Notifications

A real-time chat foundation with extensions for staff-to-patient and internal communication, a notification engine, and an AI assistant integration point (fully wired, activates the moment a provider API key is set).

Platform Administration

Plan-based feature flags and usage limits that can be toggled live with no restart, plus monitoring, support tooling, and a full audit log — confirmed in testing to flip a module from blocked to accessible instantly when granted.

Public Website Builder & Custom Domains

A per-clinic public website builder, with custom-domain management on the application side complete and tested — the remaining reverse-proxy/TLS infrastructure work is documented as a clean operational handoff.

Production Readiness & Testing

336/336 backend tests and 21/21 end-to-end Playwright tests passing across 4 full user journeys, a real backup/restore drill executed against seeded data (not just documented), and a security pass that closed the one plaintext-secret-storage gap found — encrypted the same way as the rest of the system's credential handling.