Miro - React Dental Practice Management Template
A dental front desk on one shared diary: chair board, week planner, patient directory, staff kanban, an invoice ledger derived from treatment, and clinic settings.
What is included
- Chair board. Five of the practice's nine chairs, with status filters, clinic holds and a booking sheet.
- Week planner. Month, week, day and agenda over procedures, recalls, insurance and calls, with a double booking guard.
- Moves that get refused. Dragging a booking into a lunch or a theatre list reverts, and the toast names what it hit.
- Ledger from the diary. Invoices are derived from the visits that ran, so voiding a booking removes its bill.
- Patient directory. A filter builder, a record sheet, and a CSV export of exactly the rows the filters left.
- Staff kanban. Drag a visit to another clinician and the appointment changes chair in the same diary.
- Command palette. Cmd+K searches six kinds across the live stores.
- Settings that reach. Set the opening hours and both calendars redraw; change a procedure price and every invoice reprices.
Who it is for
- Agencies quoting a clinic build The diary, the ledger and the directory already agree on day one.
- Developers replacing fixtures with an API Six providers, all mounted in routes.tsx, with 31 test files holding the logic still.
- Teams demoing a booking flow early Nothing is gated, so a stakeholder lands on the dashboard and can book straight away.
Frequently asked questions
Does it include a backend, and do my edits survive a reload?
No to both. Five of the six stores seed from a typed fixture module and hold it in a React context provider, so a new booking, a new patient or an edited price lasts until the tab reloads. The sixth, Payments, stores nothing and derives the ledger from the diary, and each provider is the swap point for your own calls. There is no demo and live repository pair in this template, so ignore the data layer section the base README still carries.
Are the figures on screen derived, or hard coded?
Derived, with two named exceptions. Utilisation, open time, the status matrix, the patient tiles and every invoice are computed from the same seeded diary, so marking a booking completed moves all of them at once. The dashboard's Procedure Mix and Patient Volume charts are the exception: they keep the sample series from the block they came from, and src/features/dashboard/lib/chart-data.ts says so at the top.
Is the sign in screen actually authenticating?
No. src/lib/auth/session.ts writes a flag to localStorage, nothing reads it as a gate, and the root path lands on the dashboard whether you signed in or not. The form does validate with zod and refuses an empty submit, but no password is checked. src/app/routes.tsx names the exact spot a real guard goes back in.
What do I get when I download a template?
The full source of a standalone project: every page, component, route, and style, ready to run locally. Templates are built entirely from ReUI blocks and components, so the code matches the registry you already use.
Do I need a plan to download templates?
Free templates only need a ReUI account, so sign in and download. Every other template is included with the Ultimate plan, alongside all blocks and Motion Icons.
Are templates sold individually?
No. Templates come with the Ultimate plan rather than as separate purchases, so one upgrade unlocks the whole catalog, including everything added later.
How do I install a template?
Download the source, install dependencies with your package manager, add your environment variables, and run the dev server. Each template ships a README with its own setup steps.