Files
soft/start-dev.bat
MingNian d5f167167a feat: replace Redis with PostgreSQL for caching, rate limiting, SMS codes, and token blacklist
- Add 4 PG entities: VerificationCode, RateLimitEntry, TokenBlacklistEntry, CacheEntry
- Add 4 services: VerificationService, RateLimitService, TokenBlacklistService, CacheService
- Add CleanupBackgroundService for periodic expired data cleanup
- Add MigrationHelper for safe schema migration without data loss
- Update AuthController: real SMS code generation, rate limiting, logout endpoint with JWT blacklist
- Update JwtProvider: add JTI claim for token revocation
- Update Program.cs: register new services, JWT blacklist validation, DB migration
- Remove StackExchange.Redis NuGet package and all Redis config references
- Update start-dev.bat: 6→5 services, remove Redis startup
- Update docs: remove Redis references from all documentation
- Fix: logout button spacing on profile page
- Fix: .gitignore data/→/data/ to not ignore Infrastructure/Data/
2026-05-26 13:48:53 +08:00

71 lines
2.2 KiB
Batchfile

@echo off
chcp 65001 >nul 2>&1
title HealthManager - Dev Startup
echo ==========================================
echo HealthManager Dev Environment
echo ==========================================
set "PG_DATA=D:\APP\data\pgdata"
set "PG_BIN=D:\PostgreSQL\18\pgsql\bin"
set "MINIO_DATA=D:\APP\data\minio"
echo.
echo [1/5] Starting PostgreSQL...
if exist "%PG_BIN%\pg_ctl.exe" (
"%PG_BIN%\pg_ctl.exe" -D "%PG_DATA%" -l "%PG_DATA%\pg.log" start 2>nul
if errorlevel 1 (
echo PostgreSQL is already running or failed to start
) else (
echo PostgreSQL started
)
) else (
echo [WARN] PostgreSQL not found at %PG_BIN%
)
echo.
echo [2/5] Starting MinIO...
tasklist /fi "imagename eq minio.exe" | find /i "minio.exe" >nul
if errorlevel 1 (
if not exist "%MINIO_DATA%" mkdir "%MINIO_DATA%"
start "MinIO" /MIN minio server "%MINIO_DATA%" --address ":9000" --console-address ":9001"
echo MinIO started
) else (
echo MinIO is already running
)
echo.
echo [3/5] Starting Backend API...
cd /d "%~dp0backend"
start "HealthManager API" dotnet run --project src\HealthManager.WebApi --urls "http://localhost:5000" --environment Development
echo Backend API starting (http://localhost:5000)
echo Swagger: http://localhost:5000/swagger
echo Waiting 15s for backend to boot...
timeout /t 15 /nobreak >nul
echo.
echo [4/5] Starting Patient Frontend...
start "Patient Frontend" cmd.exe /c "cd /d %~dp0frontend-patient && npm run dev"
echo Patient Frontend starting on http://localhost:5173
echo.
echo [5/5] Starting Doctor Frontend...
start "Doctor Frontend" cmd.exe /c "cd /d %~dp0frontend-doctor && npm run dev"
echo Doctor Frontend starting on http://localhost:5174
echo.
echo ==========================================
echo Startup Complete!
echo.
echo Patient App: http://localhost:5173
echo Doctor App: http://localhost:5174
echo Backend API: http://localhost:5000
echo Swagger: http://localhost:5000/swagger
echo MinIO: http://localhost:9001
echo PostgreSQL: localhost:5432
echo ==========================================
echo.
echo All 5 services started. Close the 3 new
echo windows to stop the apps.
echo.
pause