OpenCare is a fully open-source, privacy-friendly doctor appointment scheduling platform designed to streamline patient-doctor interactions. It eliminates the hassle of manual booking by allowing patients to search for doctors, view available slots, and book appointments online. Doctors can manage their schedules, approve or reject bookings, and conduct self-hosted video consultations via Jitsi Meet.
Unlike proprietary solutions, OpenCare is self-hosted, giving full control over data. It also supports offline functionality using Progressive Web App (PWA) technology, making it accessible even in low-connectivity areas.
Key Features
For Patients
Easy Appointment Booking: Search for doctors by specialization and availability.
Real-Time Availability: View and select available time slots.
Appointment Management: Reschedule or cancel appointments.
Offline Support: Book and view appointments even without an internet connection.
For Doctors
Profile & Schedule Management: Set specialization, availability, and working hours.
Appointment Control: Accept or reject appointment requests.
Self-Hosted Video Consultations: Secure virtual meetings via Jitsi Meet.
For Admins (Optional)
User Management: Oversee doctors and patients.
Doctor Verification: Approve or reject doctor registrations.
Why OpenCare?
✅ 100% Open-Source & FOSS-Compliant – No reliance on proprietary APIs.
✅ Privacy-Focused & Self-Hosted – Your data stays under your control.
✅ Offline Booking Support – Works even in low-connectivity environments.
✅ Scalable & Customizable – Adapt it to fit different healthcare needs.
Tech Stack
Frontend: React.js (PWA) + Leaflet.js (OpenStreetMap)
Backend: Node.js (Express.js)
Database: PostgreSQL / Supabase
Authentication: Self-hosted JWT
Video Calls: Jitsi Meet (Self-hosted)
Installation & Setup
1. Clone the Repository
git clone https://github.com/yourusername/opencare.git
cd opencare
2. Backend Setup
cd backend
npm install
cp .env.example .env # Update database credentials
npm run migrate # Run database migrations
npm start # Start backend server
3. Frontend Setup
cd frontend
npm install
npm start # Run frontend in development mode
Testing & Deployment
Run backend tests: npm test
Run frontend tests: npm test
Deploy Frontend: Vercel / Netlify
Deploy Backend: Railway / Render
Database Hosting: Supabase / PostgreSQL
License
OpenCare is released under the MIT License. Contributions and forks are welcome!