{"id":24692488,"url":"https://github.com/iamfitsum/carepulse","last_synced_at":"2026-04-15T19:38:38.927Z","repository":{"id":274293800,"uuid":"920147240","full_name":"iamfitsum/carepulse","owner":"iamfitsum","description":"CarePulse is a healthcare management system that simplifies patient registration, appointment booking, and admin workflows with secure file uploads, SMS notifications, and a responsive, user-friendly interface.","archived":false,"fork":false,"pushed_at":"2025-01-26T10:51:02.000Z","size":8513,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T11:26:46.747Z","etag":null,"topics":["appwrite","nextjs","sentry","shadcn-ui","tailwindcss","twilio","typescript"],"latest_commit_sha":null,"homepage":"https://carepulse-five-pi.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamfitsum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-21T16:38:28.000Z","updated_at":"2025-01-26T10:52:37.000Z","dependencies_parsed_at":"2025-01-26T11:38:20.490Z","dependency_job_id":null,"html_url":"https://github.com/iamfitsum/carepulse","commit_stats":null,"previous_names":["iamfitsum/carepulse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fcarepulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fcarepulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fcarepulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fcarepulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamfitsum","download_url":"https://codeload.github.com/iamfitsum/carepulse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244894316,"owners_count":20527677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","nextjs","sentry","shadcn-ui","tailwindcss","twilio","typescript"],"created_at":"2025-01-26T20:15:27.647Z","updated_at":"2026-04-15T19:38:33.870Z","avatar_url":"https://github.com/iamfitsum.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eCarePulse - A healthcare management system.\u003c/h1\u003e\n  \u003cimg src=\"public/assets/images/banner.png\" alt=\"CarePulse Banner\" style=\"width: 100%;\"  /\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n**CarePulse** is an advanced healthcare patient management application designed to simplify the process of registering, booking, and managing appointments with doctors. The system features robust administrative tools for managing doctors, scheduling, confirming, and canceling appointments, as well as sending SMS notifications to patients regarding their appointment status. Built with Next.js and powered by modern web technologies, CarePulse ensures seamless performance and a responsive design for all devices.\n\n---\n\n## 📑 Table of Contents\n\n- [✨ Features](#-features)\n- [🛠️ Technologies Used](#%EF%B8%8F-technologies-used)\n- [📂 File Structure](#-file-structure)\n- [🚀 Getting Started](#-getting-started)\n- [🙏 Acknowledgements](#-acknowledgements)\n- [📜 License](#-license)\n\n---\n\n## ✨ Features\n\n- **Patient Registration:** Users can create their profiles to access the platform.\n- **Appointment Booking:** Patients can schedule appointments with doctors, including multiple bookings.\n- **Doctor Management:** Admins can add, edit, and delete doctors to keep the platform up-to-date.\n- **Appointment Management:** Admins can view, manage, confirm, and cancel appointments efficiently.\n- **SMS Notifications:** Patients receive SMS confirmations for their appointments.\n- **File Uploads:** Users can securely upload and store files using Appwrite storage.\n- **Error Monitoring:** Integrated with Sentry to track performance and identify errors.\n- **Responsive Design:** Optimized for use on all devices, from desktops to mobile phones.\n- **Scalable Architecture:** Built with reusable code for maintainability and scalability.\n\n---\n\n## 🛠️ Technologies Used\n\n- **Next.js** for the application framework.\n- **Appwrite** for backend services and file storage.\n- **TypeScript** for type-safe development.\n- **TailwindCSS** for styling.\n- **ShadCN** for UI components.\n- **Twilio** for SMS notifications.\n- **Sentry** for application monitoring.\n\n---\n\n## 📂 File Structure\n\n```plaintext\n.\n├── components.json\n├── eslint.config.mjs\n├── LICENSE\n├── next.config.ts\n├── next-env.d.ts\n├── package.json\n├── pnpm-lock.yaml\n├── postcss.config.mjs\n├── public\n│   ├── assets\n│   ├── next.svg\n│   └── vercel.svg\n├── README.md\n├── sentry.client.config.ts\n├── sentry.edge.config.ts\n├── sentry.server.config.ts\n├── src\n│   ├── app\n│   │   ├── admin\n│   │   │   └── page.tsx\n│   │   ├── favicon.ico\n│   │   ├── global-error.tsx\n│   │   ├── globals.css\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   └── patients\n│   │       └── [userId]\n│   │           ├── new-appointment\n│   │           │   ├── page.tsx\n│   │           │   └── success\n│   │           │       └── page.tsx\n│   │           └── register\n│   │               └── page.tsx\n│   ├── components\n│   │   ├── AppointmentModal.tsx\n│   │   ├── CustomFormField.tsx\n│   │   ├── DoctorModal.tsx\n│   │   ├── FileUploader.tsx\n│   │   ├── forms\n│   │   │   ├── AppointmentForm.tsx\n│   │   │   ├── DoctorForm.tsx\n│   │   │   ├── PatientForm.tsx\n│   │   │   └── RegisterForm.tsx\n│   │   ├── PasskeyModal.tsx\n│   │   ├── StatCard.tsx\n│   │   ├── StatusBadge.tsx\n│   │   ├── SubmitButton.tsx\n│   │   ├── table\n│   │   │   ├── columns.tsx\n│   │   │   └── DataTable.tsx\n│   │   ├── theme-provider.tsx\n│   │   └── ui\n│   │       ├── alert-dialog.tsx\n│   │       ├── button.tsx\n│   │       ├── checkbox.tsx\n│   │       ├── dialog.tsx\n│   │       ├── form.tsx\n│   │       ├── input-otp.tsx\n│   │       ├── input.tsx\n│   │       ├── label.tsx\n│   │       ├── radio-group.tsx\n│   │       ├── select.tsx\n│   │       ├── table.tsx\n│   │       └── textarea.tsx\n│   ├── constants\n│   │   └── index.ts\n│   ├── instrumentation.ts\n│   ├── lib\n│   │   ├── actions\n│   │   │   ├── appointment.actions.ts\n│   │   │   ├── doctor.actions.ts\n│   │   │   └── patient.actions.ts\n│   │   ├── appConfig.ts\n│   │   ├── appwrite.config.ts\n│   │   ├── utils.ts\n│   │   └── validation.ts\n│   └── types\n│       ├── appwrite.types.ts\n│       └── index.d.ts\n├── tailwind.config.ts\n└── tsconfig.json\n```\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\nEnsure you have the following tools installed:\n\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/)\n- [npm (Node Package Manager)](https://www.npmjs.com/)\n\n### Cloning the Repository\n\n```bash\ngit clone https://github.com/iamfitsum/carepulse.git\ncd carepulse\n```\n\n### Installation\n\nInstall the required dependencies:\n\n```bash\nnpm install\n```\n\n### Set Up Environment Variables\n\nCreate a `.env.local` file in the root directory and add the following:\n\n```plaintext\n#APPWRITE\nNEXT_PUBLIC_ENDPOINT=https://cloud.appwrite.io/v1\nPROJECT_ID=\nAPI_KEY=\nDATABASE_ID=\nPATIENT_COLLECTION_ID=\nAPPOINTMENT_COLLECTION_ID=\nDOCTOR_COLLECTION_ID=\nNEXT_PUBLIC_BUCKET_ID=\n\n#Sentry\nSENTRY_AUTH_TOKEN=\n\n#General\nNEXT_PUBLIC_ADMIN_PASSKEY=111111\n```\n\nReplace placeholders with your actual credentials. If you're unfamiliar with these services:\n\n- **Appwrite Credentials**: You can obtain these from the [Appwrite Cloud Console](https://cloud.appwrite.io/). Create a project, configure your database and collections, and generate API keys.\n- **Sentry Credentials**: Sign up for Sentry at [https://sentry.io/](https://sentry.io/), create a new project, and generate an authentication token from the API section in your account settings.\n\n### Running the Project\n\nStart the development server:\n\n```bash\nnpm run dev\n```\n\nAccess the app at [http://localhost:3000](http://localhost:3000).\n\n---\n\n## 🙏 Acknowledgements\n\nSpecial thanks to [Adrian](https://github.com/adrianhajdin) from JSMastery for his insightful video tutorial that guided the development of this project. Check out the course video [here](https://www.youtube.com/watch?v=lEflo_sc82g).\n\n---\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamfitsum%2Fcarepulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamfitsum%2Fcarepulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamfitsum%2Fcarepulse/lists"}