Health Bridge is a very comprehensive digital healthcare platform that revolutionizes the way patients, doctors, and healthcare staff interact. Built with modern web technologies, it provides seamless appointment booking, real-time queue management, AI-powered assistance, and secure medical record management.
- π Multi-Role Authentication - Secure login for Patients, Doctors, and Staff
- π Smart Appointment Booking - Intuitive scheduling with real-time availability
- β±οΈ Live Queue Management - Real-time queue updates and position tracking
- π€ AI Healthcare Assistant - Intelligent chatbot for health queries and support
- π Digital Medical Records - Secure storage and management of health records
- π Prescription Management - Digital prescriptions and medication tracking
- π§ͺ Lab Results Integration - Seamless lab result viewing and management
- π± Responsive Design - Optimized for desktop, tablet, and mobile devices
- π Real-time Notifications - Instant updates via WebSocket connections
- π Dark/Light Mode - User-preferred theme switching
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + Shadcn/ui
- State Management: React Hooks + Context API
- Authentication: JWT + NextAuth.js
- Real-time: Socket.IO Client
- Deployment: Vercel
- Framework: NestJS
- Language: TypeScript
- Database: MongoDB Atlas
- ODM: Mongoose
- Authentication: JWT + Passport.js
- Real-time: Socket.IO
- Email Service: Nodemailer
- Deployment: Render.com
- Monorepo: Turborepo
- Testing: Jest + Playwright
- Code Quality: ESLint + Prettier
- CI/CD: GitHub Actions
- Package Manager: npm
| Name | Role |
|---|---|
| Boaz Marube | Full Stack Developer |
| Bereket Eshete | Full Stack Developer |
| Mahder Hawaz | Full Stack Developer |
| Nuhamin Wondoson | UI/UX Designer |
| June Kwamboka | UI/UX Designer |
| Finlay Ndung'u | UI/UX Designer |
| Sena Kebede | GenAI Developer |
| Solomon | GenAI Developer |
health-bridge-app/
βββ π apps/
β βββ π frontendapp/ # Next.js Frontend Application
β β βββ π app/ # App Router Pages & Components
β β β βββ π (auth)/ # Authentication Pages
β β β βββ π (public)/ # Public Pages (About, Contact, etc.)
β β β βββ π components/ # Reusable UI Components
β β β βββ π dashboard/ # Admin Dashboard
β β β βββ π doctor/ # Doctor Portal
β β β βββ π patient/ # Patient Portal
β β β βββ π staff/ # Staff Portal
β β β βββ π lib/ # Utilities & Configurations
β β βββ π public/ # Static Assets
β βββ π backend/ # NestJS Backend API
β βββ π src/ # Source Code
β β βββ π auth/ # Authentication Module
β β βββ π appointments/ # Appointment Management
β β βββ π doctors/ # Doctor Management
β β βββ π patients/ # Patient Management
β β βββ π staff/ # Staff Management
β β βββ π health-records/ # Medical Records
β β βββ π prescriptions/ # Prescription Management
β β βββ π lab-results/ # Lab Results
β β βββ π notifications/ # Notification System
β β βββ π queue/ # Queue Management
β β βββ π websocket/ # Real-time Communication
β β βββ π roles/ # Role-Based Access Control
β βββ π test/ # Test Files
βββ π packages/
β βββ π utils/ # Shared Utilities
βββ π tests/
β βββ π e2e/ # End-to-End Tests
βββ π .github/
β βββ π workflows/ # CI/CD Pipelines
βββ π turbo.json # Turborepo Configuration
βββ π package.json # Root Package Configuration
βββ π README.md # Project Documentation
Ensure you have the following installed:
- Node.js (v18 or higher)
- npm (v8 or higher)
- Git
-
Clone the repository:
git clone https://github.com/your-username/health-bridge-app.git cd health-bridge-app -
Install dependencies:
npm install
-
Set up environment variables:
Frontend (.env.local):
NEXT_PUBLIC_API_URL=http://localhost:5002 NEXT_PUBLIC_AI_API_URL=https://health-bridge-app-3.onrender.com NEXTAUTH_SECRET=your-nextauth-secret NEXTAUTH_URL=http://localhost:3000
Backend (.env):
MONGODB_URI=your-mongodb-connection-string JWT_SECRET=your-jwt-secret PORT=5002 NODE_ENV=development SMTP_HOST=smtp.gmail.com SMTP_PORT=587 EMAIL_USER=your-email@gmail.com EMAIL_PASS=your-app-password
-
Start development servers:
# Start both frontend and backend npm run dev # Or start individually npm run dev:frontend # Frontend: http://localhost:3000 npm run dev:backend # Backend: http://localhost:5002
| Command | Description |
|---|---|
npm run dev |
Start both frontend and backend in development mode |
npm run dev:frontend |
Start only Next.js frontend |
npm run dev:backend |
Start only NestJS backend |
npm run build |
Build both applications for production |
npm run start |
Start production builds |
npm run test |
Run all tests |
npm run test:e2e |
Run end-to-end tests |
npm run lint |
Lint all code |
npm run type-check |
Type check TypeScript code |
- App Router: Next.js 14 with file-based routing
- Component Structure: Modular, reusable components with Shadcn/ui
- State Management: React Context API for global state
- Authentication: JWT-based with role-based access control
- Styling: Tailwind CSS with custom design system
- Modular Design: NestJS modules for each feature domain
- Database: MongoDB with Mongoose ODM
- Authentication: JWT tokens with Passport.js strategies
- Real-time: WebSocket connections for live updates
- Security: CORS, rate limiting, input validation
- Users: Patient, Doctor, Staff profiles
- Appointments: Scheduling and management
- Health Records: Medical history and records
- Prescriptions: Digital prescription management
- Queue: Real-time queue management
- Notifications: System notifications
- JWT Authentication: Secure token-based authentication
- Role-Based Access Control: Different permissions for each user type
- Password Hashing: bcrypt for secure password storage
- Input Validation: Comprehensive data validation
- Rate Limiting: API rate limiting to prevent abuse
- CORS Configuration: Secure cross-origin resource sharing
- Environment Variables: Sensitive data protection
# Run unit tests
npm run test
# Run e2e tests
npm run test:e2e
# Run tests with coverage
npm run test:coverage- Connect your GitHub repository to Vercel
- Configure environment variables
- Deploy automatically on push to main branch
- Connect your GitHub repository to Render
- Configure environment variables
- Set build and start commands
- Deploy automatically on push to main branch
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow TypeScript best practices
- Write tests for new features
- Follow the existing code style
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all team members for their dedication and hard work
- Special thanks to the open-source community for the amazing tools and libraries
- Inspired by the need for better digital healthcare solutions

