Clinic Manager: Web-Based Clinic Management System
A web app for small and mid-sized clinics that need to track patients, appointments, doctors, and departments without paper records, built on React and Supabase.

Clinic Manager handles the daily admin work that keeps a clinic running: patient records, appointments, doctor assignments, and department structure. It is built for small and mid-sized clinics that have outgrown spreadsheets but do not need the weight of a full hospital information system.
What the staff uses day to day:
- Dashboard: Live counts for total patients, active staff, and scheduled appointments
- Patients: Full CRUD with national ID validation and per-patient visit history
- Appointments: Date and time picker tied to a doctor and a department, with conflict checks
- Doctors and staff: Add and edit profiles, assign roles and departments
- Departments: Group and filter appointments by department for a clearer overview
- Search and filters: Live search across patients and appointments with dynamic filters
- Layout: Responsive on desktop and tablet, which covers what front-desk and exam-room screens actually run
Stack:
- Frontend: React 18, Tailwind CSS, React Router, Headless UI
- Data layer: React Query for server state, custom hooks for business logic
- Backend: Supabase Postgres for auth, database, and storage, with row-level security on every table
- Utilities: date-fns for time math, React Hot Toast for inline notifications
- Structure: Feature-based folder layout with reusable components, kept small enough that one developer can hold it all in their head
The trade-offs are deliberate: Supabase instead of a custom backend, React Query instead of a heavier state library, and a feature-based layout instead of a strict architecture pattern. The result is a system that a clinic can actually run on without hiring a dev team to maintain it.

