{"id":30184569,"url":"https://github.com/paladin-2024/caresync","last_synced_at":"2026-05-07T00:37:15.864Z","repository":{"id":309494372,"uuid":"1035837131","full_name":"paladin-2024/CareSync","owner":"paladin-2024","description":"A healthcare platform that streamlines patient registration, appointment scheduling, and medical records, and learn to implement complex forms and SMS notifications.","archived":false,"fork":false,"pushed_at":"2025-08-12T07:31:44.000Z","size":3775,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-12T08:28:04.159Z","etag":null,"topics":["appwrite","nextjs","shadcn-ui","twilio","typescript"],"latest_commit_sha":null,"homepage":"https://care-sync-seven.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paladin-2024.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-08-11T06:59:34.000Z","updated_at":"2025-08-12T07:31:47.000Z","dependencies_parsed_at":"2025-08-12T08:39:30.680Z","dependency_job_id":null,"html_url":"https://github.com/paladin-2024/CareSync","commit_stats":null,"previous_names":["paladin-2024/caresync"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/paladin-2024/CareSync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-2024%2FCareSync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-2024%2FCareSync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-2024%2FCareSync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-2024%2FCareSync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paladin-2024","download_url":"https://codeload.github.com/paladin-2024/CareSync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paladin-2024%2FCareSync/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270063558,"owners_count":24520803,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","shadcn-ui","twilio","typescript"],"created_at":"2025-08-12T12:40:44.038Z","updated_at":"2026-05-07T00:37:15.858Z","avatar_url":"https://github.com/paladin-2024.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CareSync 🩺\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"public/assets/icons/logo-full.svg\" alt=\"CareSync Logo\" width=\"400\"/\u003e\u003c/p\u003e\n\n\u003e A modern, user-friendly healthcare platform that streamlines patient registration, appointment scheduling, and medical records, and learn to implement complex forms and SMS notifications.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Next.js](https://img.shields.io/badge/Next.js-14-black?logo=next.js)](https://nextjs.org/) [![React](https://img.shields.io/badge/React-18-blue?logo=react)](https://reactjs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?logo=typescript)](https://www.typescriptlang.org/) [![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-3-cyan?logo=tailwind-css)](https://tailwindcss.com/) [![Appwrite](https://img.shields.io/badge/Appwrite-F02E65?logo=appwrite)](https://appwrite.io/) [![Zod](https://img.shields.io/badge/Zod-3E67B1?logo=zod)](https://zod.dev/)\n\n---\n\n## ✨ Overview\n\nCareSync is a web application built with the latest technologies to provide a seamless experience for patients and administrators in managing healthcare appointments. The project focuses on a clean, intuitive user interface and a robust backend to handle patient data securely and efficiently.\n\nThe current focus is on building a comprehensive patient onboarding form with reusable and scalable components.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"public/assets/img.png\" alt=\"CareSync Onboarding Screen\" width=\"800\"\u003e\u003c/p\u003e\n\n## 🚀 Key Features\n\n-   Patient Onboarding \u0026 Management: A comprehensive, multi-step form for patient registration.\n-   Custom Form Fields: A reusable `CustomFormField` component designed to handle various input types, making it easy to extend the form.\n-   Appointment Scheduling: An intuitive interface for patients to schedule appointments using a date and time picker.\n-   Secure File Uploads: A drag-and-drop interface for patients to easily upload medical documents, such as physician's notes or lab results.\n-   Schema-Based Validation: Uses `Zod` to define a validation schema, ensuring data integrity before submission.\n-   Responsive Design: Fully responsive layout that works on all devices, from mobile phones to desktops.\n-   Dark Mode: Beautiful dark theme for a comfortable user experience in low-light environments, powered by `next-themes`.\n-   Comprehensive Admin Dashboard: A dedicated interface for healthcare providers to:\n    -   View and manage patient data in a sortable, filterable table.\n    -   Track key metrics with statistical cards.\n    -   Update appointment statuses with clear visual badges.\n\n## 🛠️ Tech Stack\n\n-   Framework: Next.js 14 (with App Router)\n-   Language: TypeScript\n-   Backend: Appwrite\n-   Messaging: Twilio SMS\n-   Styling: Tailwind CSS\n-   UI Components: shadcn/ui\n-   Form Management: React Hook Form\n-   Schema Validation: Zod\n-   Date \u0026 Time: react-datepicker\n-   Phone Input: react-phone-number-input\n-   Theming: next-themes\n-   Fonts: Custom Fonts (`Satoshi`, `Inter`)\n\n## 🏗️ Architecture\n\nCareSync is built with a focus on scalability, reusability, and a clean separation of concerns.\n\n### Styling\n-   Tailwind CSS with Custom Utilities: We leverage Tailwind's utility-first approach and extend it with custom, reusable classes in `globals.css` using the `@layer` directive. This includes helpers for layout (`.container`), typography (`.header`), and component-specific styles (`.admin-stat`, `.data-table`).\n-   shadcn/ui Overrides: To maintain a consistent design language, we apply custom styles to our `shadcn/ui` components. These overrides (`.shad-*`) are centralized in `globals.css` for easy maintenance.\n\n### Form Handling\n-   Reusable Components: The `CustomFormField.tsx` and `FileUploader.tsx` components provide generic, reusable building blocks for forms. `CustomFormField` dynamically renders various input controls, while `FileUploader` offers a clean drag-and-drop zone, drastically reducing boilerplate.\n-   Centralized Validation: `lib/validation.ts` contains all Zod schemas, providing a single source of truth for strongly-typed, declarative validation rules across the application.\n-   Server Actions: Form submissions are handled by Next.js Server Actions, ensuring a seamless user experience without full-page reloads and keeping business logic on the server.\n\n## 📦 Getting Started\n\nFollow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nMake sure you have the following installed on your system:\n-   Node.js (v18.x or later)\n-   npm, yarn, or pnpm\n\n### Installation \u0026 Setup\n\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/paladin-2024/caresync.git\n    cd caresync\n    ```\n\n2.  Install dependencies:\n    ```bash\n    npm install\n    # or\n    yarn install\n    # or\n    pnpm install\n    ```\n\n3.  Set up environment variables:\n    Create a `.env.local` file in the root of the project and add any necessary environment variables.\n    \n    Example for Appwrite:\n    ```env\n    # .env.local\n    NEXT_PUBLIC_ENDPOINT=\"https://cloud.appwrite.io/v1\"\n    NEXT_PUBLIC_PROJECT_ID=\"YOUR_PROJECT_ID\"\n    NEXT_PUBLIC_API_KEY=\"YOUR_API_KEY\"\n    NEXT_PUBLIC_DATABASE_ID=\"YOUR_DATABASE_ID\"\n    NEXT_PUBLIC_PATIENT_COLLECTION_ID=\"YOUR_PATIENT_COLLECTION_ID\"\n    ```\n\n4.  Run the development server:\n    ```bash\n    npm run dev\n    # or\n    yarn dev\n    # or\n    pnpm dev\n    ```\n\nOpen http://localhost:3000 with your browser to see the result.\n\n## 📁 Project Structure\nThe project follows a standard Next.js App Router structure, with some conventions for organizing components and utilities.\n\n## Developed by **Nzabanita**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaladin-2024%2Fcaresync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaladin-2024%2Fcaresync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaladin-2024%2Fcaresync/lists"}