You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HealthFlow is a full-stack healthcare management platform that connects patients, doctors, secretaries, and administrators through a unified web application. It supports appointment booking (physical & online), real-time messaging, medical records, schedule management, and in-app notifications — all powered by a .NET 8 REST API with SignalR real-time capabilities and a Next.js 16 React frontend.
cd Back/HealthFlow_backend
# Restore dependencies
dotnet restore
# Apply database migrations
dotnet ef database update --project HealthFlow_backend
# (Optional) Seed the database with sample data
dotnet run --project HealthFlow_backend -- seed
# Start the API server
dotnet run --project HealthFlow_backend
The API will be available at http://localhost:5155.
Swagger UI is at http://localhost:5155/swagger.
Frontend Setup
cd frontend
# Install dependencies
npm install
# Create environment file
cp .env.example .env.local
# Start the dev server
npm run dev
The frontend will be available at http://localhost:3000.
Environment Variables
Backend — appsettings.json
Key
Description
ConnectionStrings:DefaultConnection
PostgreSQL connection string
Jwt:SecretKey
Secret key for signing JWT tokens (min 32 chars)
Jwt:Issuer
Token issuer (HealthFlow)
Jwt:Audience
Token audience (HealthFlowClient)
Jwt:ExpirationMinutes
Access token lifetime (default: 60)
Cors:AllowedOrigins
Array of allowed frontend origins
FileStorage:UploadPath
Directory for uploaded files (Uploads)
Frontend — .env.local
Key
Description
NEXT_PUBLIC_API_URL
Backend REST API base URL (e.g., http://localhost:5155/api)
NEXT_PUBLIC_WS_URL
Backend SignalR hub base URL (e.g., http://localhost:5155/hubs)
Database
HealthFlow uses PostgreSQL with EF Core Code-First migrations. The schema includes:
Entity
Description
User
All users (patients, doctors, secretaries, admins) with role-based fields
Doctor
Doctor profile (linked to User), specialization, clinic, bio, etc.
SecretaryProfile
Secretary profile linked to one or more doctors via SecretaryDoctor
Appointment
Patient ↔ Doctor appointment with status workflow
DoctorAvailability
Weekly time-slot schedule for doctors
Clinic
Clinic details with working hours and geolocation
Specialization
Medical specializations (Cardiology, Neurology, etc.)