Welcome 👋
68 |69 | Start the day with managing new appointments 70 |
71 |├── public
├── 10386c2cece606645c9e16fd9f9c12ca.html
├── favicon.ico
└── assets
│ ├── gifs
│ └── success.gif
│ ├── images
│ ├── admin.png
│ ├── dr-lee.png
│ ├── dr-cruz.png
│ ├── dr-green.png
│ ├── dr-peter.png
│ ├── dr-powell.png
│ ├── dr-sharma.png
│ ├── dr-cameron.png
│ ├── dr-remirez.png
│ ├── pending-bg.png
│ ├── cancelled-bg.png
│ ├── dr-livingston.png
│ ├── register-img.png
│ ├── appointment-img.png
│ ├── appointments-bg.png
│ └── onboarding-img.webp
│ └── icons
│ ├── check.svg
│ ├── arrow.svg
│ ├── user.svg
│ ├── email.svg
│ ├── upload.svg
│ ├── appointments.svg
│ ├── cancelled.svg
│ ├── calendar.svg
│ ├── pending.svg
│ ├── close.svg
│ ├── check-circle.svg
│ ├── loader.svg
│ ├── logo-icon.svg
│ └── logo-full.svg
├── postcss.config.mjs
├── instrumentation.ts
├── components
├── ThemeProvider.tsx
├── AdminLink.tsx
├── NewAppointmentButton.tsx
├── ui
│ ├── label.tsx
│ ├── separator.tsx
│ ├── textarea.tsx
│ ├── input.tsx
│ ├── checkbox.tsx
│ ├── popover.tsx
│ ├── radio-group.tsx
│ ├── button.tsx
│ ├── input-otp.tsx
│ ├── table.tsx
│ ├── dialog.tsx
│ ├── form.tsx
│ ├── alert-dialog.tsx
│ ├── command.tsx
│ └── select.tsx
├── GlobalLoading.tsx
├── StatusBadge.tsx
├── StatCard.tsx
├── GlobalLoadingProvider.tsx
├── SubmitButton.tsx
├── FileUploader.tsx
├── AppointmentModal.tsx
├── PasskeyModal.tsx
├── forms
│ ├── PatientForm.tsx
│ └── AppointmentForm.tsx
├── table
│ ├── columns.tsx
│ └── DataTable.tsx
├── PatientModal.tsx
└── CustomFormField.tsx
├── app
├── api
│ ├── sentry-example-api
│ │ └── route.ts
│ ├── patients
│ │ └── [patientId]
│ │ │ └── page.ts
│ ├── checkPhone
│ │ └── route.ts
│ └── checkEmail
│ │ └── route.ts
├── loading.tsx
├── global-error.tsx
├── patients
│ ├── find-by-email
│ │ └── page.tsx
│ └── [userId]
│ │ ├── new-appointment
│ │ ├── page.tsx
│ │ └── success
│ │ │ └── page.tsx
│ │ └── register
│ │ └── page.tsx
├── layout.tsx
├── admin
│ └── page.tsx
├── sentry-example-page
│ └── page.tsx
├── page.tsx
└── globals.css
├── components.json
├── .vscode
└── settings.json
├── .eslintrc.json
├── .gitignore
├── tsconfig.json
├── sentry.server.config.ts
├── sentry.edge.config.ts
├── types
├── appwrite.types.ts
└── index.d.ts
├── sentry.client.config.ts
├── lib
├── appwrite.config.ts
├── utils.ts
├── validation.ts
└── actions
│ ├── patient.actions.ts
│ └── appointment.actions.ts
├── next.config.mjs
├── package.json
├── constants
└── index.ts
├── tailwind.config.ts
└── README.md
/public/10386c2cece606645c9e16fd9f9c12ca.html:
--------------------------------------------------------------------------------
1 | twilio-domain-verification=10386c2cece606645c9e16fd9f9c12ca
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/public/assets/gifs/success.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/gifs/success.gif
--------------------------------------------------------------------------------
/public/assets/images/admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/admin.png
--------------------------------------------------------------------------------
/public/assets/images/dr-lee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-lee.png
--------------------------------------------------------------------------------
/public/assets/images/dr-cruz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-cruz.png
--------------------------------------------------------------------------------
/public/assets/images/dr-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-green.png
--------------------------------------------------------------------------------
/public/assets/images/dr-peter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-peter.png
--------------------------------------------------------------------------------
/public/assets/images/dr-powell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-powell.png
--------------------------------------------------------------------------------
/public/assets/images/dr-sharma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-sharma.png
--------------------------------------------------------------------------------
/public/assets/images/dr-cameron.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-cameron.png
--------------------------------------------------------------------------------
/public/assets/images/dr-remirez.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-remirez.png
--------------------------------------------------------------------------------
/public/assets/images/pending-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/pending-bg.png
--------------------------------------------------------------------------------
/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | },
6 | };
7 |
8 | export default config;
9 |
--------------------------------------------------------------------------------
/public/assets/images/cancelled-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/cancelled-bg.png
--------------------------------------------------------------------------------
/public/assets/images/dr-livingston.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/dr-livingston.png
--------------------------------------------------------------------------------
/public/assets/images/register-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/register-img.png
--------------------------------------------------------------------------------
/public/assets/images/appointment-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/appointment-img.png
--------------------------------------------------------------------------------
/public/assets/images/appointments-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/appointments-bg.png
--------------------------------------------------------------------------------
/public/assets/images/onboarding-img.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arnobt78/HealthCare-Doctor-Appointment-Management-System--NextJS-FullStack/HEAD/public/assets/images/onboarding-img.webp
--------------------------------------------------------------------------------
/public/assets/icons/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/instrumentation.ts:
--------------------------------------------------------------------------------
1 | export async function register() {
2 | if (process.env.NEXT_RUNTIME === "nodejs") {
3 | await import("./sentry.server.config");
4 | }
5 |
6 | if (process.env.NEXT_RUNTIME === "edge") {
7 | await import("./sentry.edge.config");
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/public/assets/icons/arrow.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/components/ThemeProvider.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import { ThemeProvider as NextThemesProvider } from "next-themes";
4 | import { type ThemeProviderProps } from "next-themes/dist/types";
5 |
6 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
7 | return
32 | {status} 33 |
34 |{label}
35 |© 2024 CarePulse
36 |
46 | 50 | Click to upload 51 | or drag and drop 52 |
53 |54 | SVG, PNG, JPG or GIF (max. 800x400px) 55 |
56 |User not found
24 |25 | The account associated with this patient record no longer exists. 26 | Please contact support or try registering as a new patient. 27 |
28 |© 2024 CarePluse
54 |
66 | Admin Dashboard
63 |69 | Start the day with managing new appointments 70 |
71 |Get started by sending us a sample error:
39 | 68 | 69 |70 | Next, look for the error on the{" "} 71 | 72 | Issues Page 73 | 74 | . 75 |
76 |77 | For more information, see{" "} 78 | 79 | https://docs.sentry.io/platforms/javascript/guides/nextjs/ 80 | 81 |
82 |
61 | 66 | We'll be in touch shortly to confirm. 67 |
68 |Requested appointment details:
72 |Dr. {doctor?.name}
91 |{formatDateTime(appointment.schedule).dateTime}
110 |© 2024 CarePluse
116 |108 | {error} 109 |
110 | )} 111 |{row.index + 1}
; 34 | }, 35 | }, 36 | { 37 | accessorKey: "patient", 38 | header: "Patient", 39 | cell: ({ row }) => { 40 | const appointment = row.original; 41 | 42 | return ( 43 |{appointment.patient.name}
49 |79 | {formatDateTime(appointment.schedule).dateTime} 80 |
81 | ); 82 | }, 83 | }, 84 | { 85 | accessorKey: "primaryPhysician", 86 | header: "Doctor", 87 | cell: ({ row }) => { 88 | const appointment = row.original; 89 | 90 | const doctor = Doctors.find( 91 | (doctor) => doctor.name === appointment.primaryPhysician 92 | ); 93 | 94 | return ( 95 |Dr. {doctor?.name}
104 |165 | {body} 166 |
167 | ); 168 | }); 169 | FormMessage.displayName = "FormMessage"; 170 | 171 | export { 172 | useFormField, 173 | Form, 174 | FormItem, 175 | FormLabel, 176 | FormControl, 177 | FormDescription, 178 | FormMessage, 179 | FormField, 180 | }; 181 | -------------------------------------------------------------------------------- /components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"; 4 | import * as React from "react"; 5 | 6 | import { buttonVariants } from "@/components/ui/button"; 7 | import { cn } from "@/lib/utils"; 8 | 9 | const AlertDialog = AlertDialogPrimitive.Root; 10 | 11 | const AlertDialogTrigger = AlertDialogPrimitive.Trigger; 12 | 13 | const AlertDialogPortal = AlertDialogPrimitive.Portal; 14 | 15 | const AlertDialogOverlay = React.forwardRef< 16 | React.ElementRef94 | Name: {patientDetails.name} 95 |
96 |97 | Email: {patientDetails.email} 98 |
99 |100 | Phone: {patientDetails.phone} 101 |
102 |103 | Birth Date: {patientDetails.birthDate.toString()} 104 |
105 |106 | Gender: {patientDetails.gender} 107 |
108 |109 | Address: {patientDetails.address} 110 |
111 |112 | Occupation: {patientDetails.occupation} 113 |
114 |115 | Emergency Contact Name:{" "} 116 | {patientDetails.emergencyContactName} 117 |
118 |119 | Emergency Contact Number:{" "} 120 | {patientDetails.emergencyContactNumber} 121 |
122 |123 | Primary Physician:{" "} 124 | {patientDetails.primaryPhysician} 125 |
126 |127 | Insurance Provider:{" "} 128 | {patientDetails.insuranceProvider} 129 |
130 |131 | Insurance Policy Number:{" "} 132 | {patientDetails.insurancePolicyNumber} 133 |
134 |135 | Allergies: {patientDetails.allergies || "None"} 136 |
137 |138 | Current Medication:{" "} 139 | {patientDetails.currentMedication || "None"} 140 |
141 |142 | Family Medical History:{" "} 143 | {patientDetails.familyMedicalHistory || "None"} 144 |
145 |146 | Past Medical History:{" "} 147 | {patientDetails.pastMedicalHistory || "None"} 148 |
149 |150 | Identification Type:{" "} 151 | {patientDetails.identificationType || "None"} 152 |
153 |154 | Identification Number:{" "} 155 | {patientDetails.identificationNumber || "None"} 156 |
157 |158 | Privacy Consent:{" "} 159 | {patientDetails.privacyConsent ? "Yes" : "No"} 160 |
161 |110 | © 2024 CarePulse 111 |
112 |
156 |