├── 📁 app
│ ├── 📁 admin
│ │ └── 📄 page.tsx
│ ├── 📁 api
│ │ └── 📁 sentry-example-api
│ │ └── 📄 route.ts
│ ├── 📁 patients
│ │ └── 📁 [userId]
│ │ ├── 📁 new-appointment
│ │ │ ├── 📁 success
│ │ │ │ └── 📄 page.tsx
│ │ │ └── 📄 page.tsx
│ │ └── 📁 register
│ │ └── 📄 page.tsx
│ ├── 📄 favicon.ico
│ ├── 📄 global-error.tsx
│ ├── 🎨 globals.css
│ ├── 📄 layout.tsx
│ ├── 📄 loading.tsx
│ └── 📄 page.tsx
├── 📁 components
│ ├── 📁 forms
│ │ ├── 📄 AppointmentForm.tsx
│ │ ├── 📄 PatientForm.tsx
│ │ └── 📄 RegisterForm.tsx
│ ├── 📁 table
│ │ ├── 📄 DataTable.tsx
│ │ └── 📄 columns.tsx
│ ├── 📁 ui
│ │ ├── 📄 alert-dialog.tsx
│ │ ├── 📄 button.tsx
│ │ ├── 📄 checkbox.tsx
│ │ ├── 📄 command.tsx
│ │ ├── 📄 dialog.tsx
│ │ ├── 📄 form.tsx
│ │ ├── 📄 input-otp.tsx
│ │ ├── 📄 input.tsx
│ │ ├── 📄 label.tsx
│ │ ├── 📄 popover.tsx
│ │ ├── 📄 radio-group.tsx
│ │ ├── 📄 select.tsx
│ │ ├── 📄 separator.tsx
│ │ ├── 📄 table.tsx
│ │ └── 📄 textarea.tsx
│ ├── 📄 AppointmentModal.tsx
│ ├── 📄 CustomFormField.tsx
│ ├── 📄 FileUploader.tsx
│ ├── 📄 PasskeyModal.tsx
│ ├── 📄 StatCard.tsx
│ ├── 📄 StatusBadge.tsx
│ ├── 📄 SubmitButton.tsx
│ └── 📄 ThemeProvider.tsx
├── 📁 constants
│ └── 📄 index.ts
├── 📁 lib
│ ├── 📁 actions
│ │ ├── 📄 appointment.actions.ts
│ │ └── 📄 patient.actions.ts
│ ├── 📄 appwrite.config.ts
│ ├── 📄 utils.ts
│ └── 📄 validation.ts
├── 📁 public
│ ├── 📁 assets
│ │ ├── 📁 gifs
│ │ │ └── 🖼️ success.gif
│ │ ├── 📁 icons
│ │ │ ├── 🖼️ appointments.svg
│ │ │ ├── 🖼️ arrow.svg
│ │ │ ├── 🖼️ calendar.svg
│ │ │ ├── 🖼️ cancelled.svg
│ │ │ ├── 🖼️ check-circle.svg
│ │ │ ├── 🖼️ check.svg
│ │ │ ├── 🖼️ close.svg
│ │ │ ├── 🖼️ email.svg
│ │ │ ├── 🖼️ loader.svg
│ │ │ ├── 🖼️ logo-full.svg
│ │ │ ├── 🖼️ logo-icon.svg
│ │ │ ├── 🖼️ pending.svg
│ │ │ ├── 🖼️ upload.svg
│ │ │ └── 🖼️ user.svg
│ │ └── 📁 images
│ │ ├── 🖼️ SEO.png
│ │ ├── 🖼️ admin.png
│ │ ├── 🖼️ appointment-img.png
│ │ ├── 🖼️ appointments-bg.png
│ │ ├── 🖼️ cancelled-bg.png
│ │ ├── 🖼️ dr-cameron.png
│ │ ├── 🖼️ dr-cruz.png
│ │ ├── 🖼️ dr-green.png
│ │ ├── 🖼️ dr-lee.png
│ │ ├── 🖼️ dr-livingston.png
│ │ ├── 🖼️ dr-peter.png
│ │ ├── 🖼️ dr-powell.png
│ │ ├── 🖼️ dr-remirez.png
│ │ ├── 🖼️ dr-sharma.png
│ │ ├── 🖼️ onboarding-img.png
│ │ ├── 🖼️ pending-bg.png
│ │ └── 🖼️ register-img.png
│ ├── 📄 favicon.ico
│ ├── 🖼️ next.svg
│ ├── ⚙️ sitemap.xml
│ └── 🖼️ vercel.svg
├── 📁 types
│ ├── 📄 appwrite.types.ts
│ └── 📄 index.d.ts
├── ⚙️ .eslintrc.json
├── ⚙️ .gitignore
├── 📝 README.md
├── ⚙️ components.json
├── 📄 global.d.ts
├── 📄 instrumentation-client.ts
├── 📄 instrumentation.ts
├── 📄 next-sitemap.config.js
├── 📄 next.config.mjs
├── ⚙️ package-lock.json
├── ⚙️ package.json
├── 📄 postcss.config.mjs
├── 📄 tailwind.config.ts
└── ⚙️ tsconfig.json