A modern, secure, and HIPAA-compliant healthcare management system built with React, NestJS, and TypeScript.
The application follows a microservices architecture with three main components:
- React + TypeScript
- Vite for build tooling
- Context API for state management
- HIPAA-compliant security measures
- Role-based access control
- Protected health information handling
- NestJS microservice
- JWT-based authentication
- Role-based authorization
- Session management
- Audit logging
- Password security
- NestJS microservice
- Appointment management
- Healthcare provider scheduling
- Patient records
- Audit trails
- PHI protection
-
Authentication & Authorization
- Secure JWT implementation
- Role-based access control
- Session management
- Password security
-
Data Protection
- Encryption at rest and in transit
- PHI data handling
- Secure data transmission
- Data access logging
-
Audit & Logging
- Comprehensive audit trails
- Access logging
- Change tracking
- Error monitoring
-
Security Measures
- HTTPS enforcement
- Security headers
- XSS protection
- CSRF protection
- Rate limiting
- Docker and Docker Compose
- Node.js 18+ (for local development)
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/healthcare-app.git cd healthcare-app -
Copy the environment template:
cp .env.example .env
-
Update the
.envfile with your secure values -
Start the application:
docker-compose up -d
The application will be available at:
- Frontend: http://localhost
- Auth Service: http://localhost:3001
- Appointment Service: http://localhost:3002
-
Install dependencies for all services:
# Frontend cd www npm install # Auth Service cd ../api/auth-service npm install # Appointment Service cd ../appointment-service npm install
-
Set up databases:
- PostgreSQL for auth and appointment services
- Redis for caching and sessions
-
Start each service:
# Frontend cd www npm run dev # Auth Service cd ../api/auth-service npm run start:dev # Appointment Service cd ../appointment-service npm run start:dev
Each service includes unit and integration tests:
# Run frontend tests
cd www
npm test
# Run auth service tests
cd api/auth-service
npm test
# Run appointment service tests
cd api/appointment-service
npm test- Auth Service Swagger: http://localhost:3001/api
- Appointment Service Swagger: http://localhost:3002/api
-
Clean Architecture
- Clear separation of concerns
- Domain-driven design
- Use case driven development
-
SOLID Principles
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
-
Security Best Practices
- Input validation
- Output sanitization
- Error handling
- Secure defaults
-
Performance Optimization
- Caching strategies
- Database indexing
- React optimization
- Load balancing ready
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.