Appearance
Deployment Overview
MedRegia consists of three deployable components:
| Component | Technology | Port |
|---|---|---|
| API | .NET 10 / ASP.NET Core | 5000 (default) |
| Frontend | Vue 3 SPA served by Nginx | 80 (default) |
| Database | MySQL 8 | 3306 |
Deployment Modes
Local Development
Each component runs independently:
bash
# 1. Start DB
docker-compose -f docker-compose.override.yml up -d db
# 2. Run migrations
dotnet run --project backend/MedRegia.Migrations
# 3. Start API
dotnet run --project backend/MedRegia.API
# 4. Start frontend dev server
cd frontend && npm run devFull Docker Stack
All three components run in Docker. The frontend Nginx container reverse-proxies /api/* to the API container.
bash
docker-compose up --buildSee Docker → for full details.
Production
In production:
- The database should be a managed MySQL service (e.g. AWS RDS, Azure Database for MySQL) — not a container
- Secrets are provided via environment variables — never committed to source control
- The Nginx CORS policy should be scoped to your domain
Pre-deployment Checklist
- [ ]
Jwt:SecretKeyis a random 32+ character string - [ ] Database password is changed from the default
- [ ]
ASPNETCORE_ENVIRONMENTis set toProduction - [ ] CORS is restricted to your frontend domain
- [ ] Migrations have been run against the production database
- [ ] Frontend
VITE_API_BASE_URLpoints to the production API