Empowering communities with free access to medical information for healthier lives!
Get Started »
View Live Demo
·
API Documentation
·
Report Bug
·
Request Feature
Click to expand
Open-Care is a comprehensive medical information platform designed to democratize access to healthcare resources. In a world where medical knowledge should be accessible to all, our platform serves as a bridge between healthcare professionals and the communities they serve.
The healthcare landscape is rapidly evolving with new research, treatments, and medical guidelines emerging constantly. Open-Care addresses the critical need for a centralized, reliable source of medical information that empowers both healthcare providers and patients with accurate, evidence-based resources.
To create an inclusive healthcare ecosystem where accurate medical information, qualified healthcare providers, and trusted medical facilities are accessible to everyone, regardless of their geographical or economic constraints.
- Comprehensive Database: Access detailed profiles of healthcare professionals
- Advanced Search: Find doctors by specialty, location, experience, and ratings
- Verified Credentials: All medical professionals are verified for authenticity
- Contact Integration: Direct contact information and appointment booking capabilities
- Patient Reviews: Community-driven feedback system for quality assurance
- Facility Information: Detailed hospital profiles with services, facilities, and specializations
- Location-Based Search: Find nearby hospitals using geolocation
- Service Mapping: Search hospitals by specific medical services and treatments
- Quality Ratings: Community and professional ratings for informed decisions
- Real-time Updates: Current availability, emergency services, and contact information
- Medical Knowledge Base: Curated collection of medical articles, research papers, and guidelines
- Smart Search Engine: AI-powered search with medical terminology recognition
- Evidence-Based Content: All information sourced from peer-reviewed medical literature
- Regular Updates: Content continuously updated with latest medical research
- Multi-language Support: Accessible content in multiple languages (planned)
- Web Application: Responsive design for desktop and mobile browsers
- Mobile App: Native mobile application for iOS and Android
- Offline Support: Critical information available offline for emergency situations
- Accessibility Features: Designed with accessibility standards for inclusive usage
This project is organized into separate repositories for better maintainability and deployment:
Repository | Description | Technologies | Status |
---|---|---|---|
Frontend Repository | Next.js web application with modern UI/UX | Next.js, React, TailwindCSS, TypeScript | ✅ Active |
Backend Repository | RESTful API server with comprehensive medical data management | Java, Spring Boot, PostgreSQL, Swagger | ✅ Active |
Mobile Repository | Cross-platform mobile application | React Native, TypeScript, Expo | ✅ Active |
Service | URL | Description |
---|---|---|
Live Application | https://opencarebd.com/ | Full-featured web application |
API Documentation | http://46.102.157.211:6700/swagger-ui/index.html | Interactive API documentation |
Note: Demo servers are for testing purposes and may have limited uptime. For production use, please deploy your own instance.
- Framework: Next.js - React framework for production
- Styling: TailwindCSS - Utility-first CSS framework
- UI Components: Custom components with accessibility focus
- State Management: React Context API / Redux Toolkit
- HTTP Client: Axios for API communication
- Type Safety: TypeScript for enhanced development experience
- Framework: React Native - Cross-platform mobile development
- Development Platform: Expo - Development and deployment platform
- Navigation: React Navigation for seamless app navigation
- State Management: Redux Toolkit / React Context API
- UI Components: Native Base / React Native Elements
- Type Safety: TypeScript for enhanced development experience
- Runtime: Java 17+ - Enterprise-grade runtime environment
- Framework: Spring Boot - Production-ready application framework
- Database: PostgreSQL - Advanced open-source relational database
- API Documentation: Swagger/OpenAPI - Interactive API documentation
- Security: Spring Security for authentication and authorization
- Testing: JUnit 5, Mockito for comprehensive testing
- Authentication: Keycloak - Open-source identity and access management
- File Storage: MinIO - High-performance object storage
- Session Management: JWT tokens with Keycloak integration
- Role-Based Access: Fine-grained permissions and user roles
- Deployment: Docker containers for consistent deployment
- Database Migration: Flyway for version-controlled database changes
- Monitoring: Application health checks and logging
- CI/CD: GitHub Actions for automated testing and deployment
Our database is designed with scalability and data integrity in mind:
- Users & Authentication: Keycloak integration for secure user management
- Medical Professionals: Comprehensive doctor profiles with specializations
- Healthcare Facilities: Detailed hospital and clinic information
- Medical Content: Curated medical information with proper categorization
- Reviews & Ratings: Community feedback system with moderation
- File Management: MinIO integration for secure file storage and retrieval
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend API │ │ Database │
│ (Next.js) │◄──►│ (Spring Boot) │◄──►│ (PostgreSQL) │
│ Port: 3000 │ │ Port: 6700 │ │ Port: 5432 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Mobile App │ │ Keycloak │ │ MinIO │
│ (React Native)│ │ (Auth Server) │ │ (File Storage)│
│ Port: 19000 │ │ Port: 8080 │ │ Port: 9000 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Before you begin, ensure you have the following installed on your system:
- Node.js (v18.0.0 or higher)
- Java Development Kit (JDK 17 or higher)
- PostgreSQL (v14.0 or higher)
- Docker and Docker Compose
- Git for version control
The easiest way to get started is using Docker Compose:
# Clone the main repository
git clone https://github.com/Cipher-Text/opencare.git
cd open-care
# Start all services
docker-compose up -d
# The application will be available at:
# - Frontend: http://localhost:3000
# - Backend API: http://localhost:6700
# - Keycloak: http://localhost:8080
# - MinIO Console: http://localhost:9001
Each repository has its own detailed setup instructions:
- Frontend Setup: Visit open-care-frontend for detailed Next.js setup
- Backend Setup: Visit open-care-backend for detailed Spring Boot setup
- Mobile Setup: Visit open-care-mobile for detailed React Native setup
- Registration: Create a professional account with credential verification through Keycloak
- Profile Management: Maintain updated professional information and specializations
- Content Contribution: Contribute to the medical knowledge base
- Patient Interaction: Respond to queries and provide professional guidance
- File Management: Upload and manage medical documents through MinIO integration
- Doctor Search: Find qualified healthcare professionals in your area
- Hospital Lookup: Locate nearby medical facilities and services
- Medical Information: Access reliable, evidence-based medical content
- Cross-Platform Access: Use the web application or mobile app
- Document Storage: Securely store and access medical documents
# API Usage Example
curl -X GET "http://localhost:6700/api/v1/doctors?specialty=cardiology&location=dhaka" \
-H "Accept: application/json" \
-H "Authorization: Bearer <keycloak_token>"
# Response
{
"success": true,
"data": [
{
"id": 1,
"name": "Dr. John Doe",
"specialty": "Cardiology",
"location": "Dhaka",
"rating": 4.8,
"experience": 15
}
]
}
http://localhost:6700/api/v1
The API uses Keycloak for authentication. Include the JWT token in the Authorization header:
Authorization: Bearer <keycloak_jwt_token>
Method | Endpoint | Description | Auth Required |
---|---|---|---|
GET |
/doctors |
Get list of doctors | No |
GET |
/doctors/{id} |
Get doctor details | No |
POST |
/doctors |
Create doctor profile | Yes |
GET |
/hospitals |
Get list of hospitals | No |
GET |
/hospitals/{id} |
Get hospital details | No |
GET |
/search |
Search medical information | No |
POST |
/auth/login |
User authentication (Keycloak) | No |
POST |
/auth/register |
User registration | No |
GET |
/files/{id} |
Download file from MinIO | Yes |
POST |
/files/upload |
Upload file to MinIO | Yes |
For complete API documentation, visit: API Documentation
- Doctor directory with search functionality
- Hospital database with location-based search
- Basic medical information repository
- Keycloak authentication system
- MinIO file storage integration
- Responsive web interface
- Mobile application (React Native)
- Advanced search with AI-powered recommendations
- Telemedicine integration
- Appointment booking system
- Patient health records management
- Push notifications for mobile app
- Multi-language support (Bengali, Hindi, Spanish)
- Real-time chat with healthcare professionals
- AI-powered symptom checker
- Integration with wearable health devices
- Emergency services locator
- Offline mode for mobile app
- International healthcare provider network
- Medical insurance integration
- Pharmaceutical information database
- Medical research collaboration platform
- Community health analytics
We welcome contributions from the community! Whether you're a developer, healthcare professional, or simply passionate about improving healthcare accessibility, there are many ways to contribute.
Please read our CONTRIBUTION.md file for detailed guidelines on how to contribute to the project.
For comprehensive project management guidelines including GitHub workflow, issue management, and estimation practices, please refer to our PROJECT_GUIDE.md.
- Choose a Repository: Frontend, Backend, or Mobile
- Read Guidelines: Check the specific contribution guidelines for your chosen repository
- Set Up Development Environment: Follow the setup instructions in the respective repository
- Pick an Issue: Look for "good first issue" labels on our GitHub issues
- Submit a Pull Request: Follow our PR template and guidelines
💡 Pro Tip: For detailed project management guidelines, GitHub workflow, and issue management best practices, check out our PROJECT_GUIDE.md.
- Frontend Development: Next.js components and features
- Backend Development: Spring Boot APIs and services
- Mobile Development: React Native features and improvements
- Database: Schema improvements and optimization
- Documentation: Technical and user documentation
- Testing: Unit tests, integration tests, and end-to-end tests
- UI/UX: Design improvements and accessibility features
- Medical Content: Curated medical information and resources
Our project follows a structured approach to task management, issue tracking, and development workflow. We use GitHub Projects, comprehensive labeling systems, and standardized processes to ensure efficient collaboration.
- GitHub Projects Setup: Board configuration and workflow columns
- Issue Management: Comprehensive labeling system and templates
- Time Estimation: Story points and planning guidelines
- Workflow Process: Step-by-step development lifecycle
- Milestone Management: Release planning and tracking
- Best Practices: Commit conventions and branch naming
For complete project management guidelines, visit our comprehensive PROJECT_GUIDE.md documentation.
This guide covers everything you need to know about:
- Creating and managing issues effectively
- Using our labeling system for categorization
- Estimating task complexity and time requirements
- Following our development workflow
- Contributing to project planning and releases
We are grateful for the contributions of our community members. Check out the CONTRIBUTORS.md file for a complete list of contributors and their contributions.
Distributed under the MIT License. See LICENSE
for more information.
Sadman Sobhan
- LinkedIn: @sadmansobhan
- Email: imran110219@gmail.com
- GitHub: @Cipher-Text
Project Links:
- Frontend Repository: https://github.com/Cipher-Text/open-care-frontend
- Backend Repository: https://github.com/Cipher-Text/open-care-backend
- Mobile Repository: https://github.com/Cipher-Text/open-care-mobile
- Live Demo: https://opencarebd.com/
We extend our gratitude to the following resources and communities that made this project possible:
- World Health Organization (WHO) - Global health guidelines and standards
- PubMed - Medical literature database
- Mayo Clinic - Trusted medical information
- WebMD - Medical information platform
- Spring Boot Documentation - Comprehensive framework guide
- React Documentation - Frontend library documentation
- Next.js Documentation - React framework documentation
- React Native Documentation - Mobile development guide
- PostgreSQL Documentation - Database documentation
- Keycloak Documentation - Authentication server guide
- MinIO Documentation - Object storage documentation
- GitHub - Version control and collaboration
- Docker - Containerization platform
- Swagger - API documentation tools
- Expo - Mobile development platform
- Postman - API development and testing
- Open-source contributors and maintainers
- Healthcare professionals providing domain expertise
- Beta testers and early adopters
- The global developer community
Made with ❤️ for better healthcare accessibility