Skip to content

A scalable, containerized microservices-based healthcare web application that supports patient appointments, user management, feedback, and pharmacy integration. Built with .NET Core (C#), React, Docker, and PostgreSQL.

Notifications You must be signed in to change notification settings

0xCryptoAngel/HealthcareSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Healthcare System

A scalable, containerized microservices-based healthcare web application that supports patient appointments, user management, feedback, and pharmacy integration. Built with .NET Core (C#), React, Docker, and PostgreSQL.

🧩 Project Structure

HealthcareSystem-main/
├── EventStore/                      # Event sourcing related logic
├── IntegrationWithPharmacies/      # External pharmacy API integration
├── PatientWebApplication/          # Core microservices and web application
│   ├── AppointmentMicroserviceApi/
│   ├── FeedbackMicroserviceApi/
│   ├── GatewayApi/
│   ├── HealthCareDatabase/
│   ├── SearchMicroserviceApi/
│   ├── UserMicroserviceApi/
│   ├── WebAppClientApp/            # Frontend React client
│   └── *.Tests                     # Integration and Selenium tests
├── Dockerfile.*                    # Dockerfiles for various services
├── docker-compose*.yml            # Compose files for dev, test, and prod
└── README.md

🚀 Technologies Used

Backend:

  • C# / .NET Core – Microservices API
  • Entity Framework Core – ORM for data access
  • PostgreSQL – Relational database
  • RabbitMQ (if included) – Event-driven architecture

Frontend:

  • React (v16.11.0) – UI Library
  • Redux / Thunk – State Management
  • React-Router – Client-side routing
  • Bootstrap / Reactstrap – UI components
  • Axios – HTTP client

DevOps & Tooling:

  • Docker – Containerization
  • Docker Compose – Multi-container setup
  • Express – Node.js server for SSR fallback

🔧 Getting Started

Prerequisites


📦 Running the Project

1. Clone the repository:

git clone https://github.com/your-org/HealthcareSystem.git
cd HealthcareSystem-main

2. Run all services with Docker Compose:

docker-compose -f docker-compose.dev.yml up --build

You can switch to docker-compose.yml or docker-compose.test.yml depending on the environment.

3. Frontend Development Server:

Navigate to the frontend React app:

cd PatientWebApplication/WebAppClientApp/client-app
npm install
npm start

Runs the React app in development mode at http://localhost:3000


🛡️ Authentication

The application uses JWT-based authentication with user roles managed via the UserMicroserviceApi.


📂 Microservices Overview

Service Port (if standalone) Description
GatewayApi 5000 (default) API Gateway for routing to microservices
UserMicroserviceApi 5001 Handles user registration/authentication
AppointmentMicroserviceApi 5002 Manages patient appointments
FeedbackMicroserviceApi 5003 Collects patient feedback
SearchMicroserviceApi 5004 Enables search functionality

🧪 Testing

To run automated tests:

cd PatientWebApplication
dotnet test

📁 Environment Variables

Environment files (.env, .env.development, .env.production) are included under client-app/. Set the appropriate API endpoints and ports.


📸 Screenshots

(Insert UI screenshots here if desired)


📌 Notes

  • The frontend uses Redux and React Router v5.
  • SSR/Express fallback is implemented via server.js.
  • For pharmacy integration, see IntegrationWithPharmacies/.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A scalable, containerized microservices-based healthcare web application that supports patient appointments, user management, feedback, and pharmacy integration. Built with .NET Core (C#), React, Docker, and PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published