Backend Complete: Interface Refactoring & Service Container Enhancements
Repository Interface Optimization: - Created IBaseRepository.ts and IPaginatedRepository.ts - Refactored all 7 repository interfaces to extend base interfaces - Eliminated ~200 lines of redundant code (70% reduction) - Improved type safety and maintainability Dependency Injection Improvements: - Added EmailService and GameTokenService to DIContainer - Updated CreateUserCommandHandler constructor for DI - Updated RequestPasswordResetCommandHandler constructor for DI - Enhanced testability and service consistency Environment Configuration: - Created comprehensive .env.example with 40+ variables - Organized into 12 logical sections (Database, Security, Email, etc.) - Added security guidelines and best practices - Documented all backend environment requirements Documentation: - Added comprehensive codebase review - Created refactoring summary report - Added frontend implementation guide Impact: Improved code quality, reduced maintenance overhead, enhanced developer experience
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
@echo off
|
||||
REM SerpentRace Development Environment Setup and Management Script for Windows
|
||||
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
REM Check if Docker and Docker Compose are installed
|
||||
where docker >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] Docker is not installed. Please install Docker first.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
where docker-compose >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] Docker Compose is not installed. Please install Docker Compose first.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if "%1"=="dev:start" goto dev_start
|
||||
if "%1"=="dev:watch" goto dev_watch
|
||||
if "%1"=="dev:stop" goto dev_stop
|
||||
if "%1"=="prod:start" goto prod_start
|
||||
if "%1"=="prod:stop" goto prod_stop
|
||||
if "%1"=="logs" goto show_logs
|
||||
if "%1"=="cleanup" goto cleanup
|
||||
goto show_help
|
||||
|
||||
:dev_start
|
||||
echo [INFO] Starting SerpentRace development environment...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.dev.yml --env-file .env.dev up --build -d
|
||||
cd ..
|
||||
echo [INFO] Development environment started successfully!
|
||||
echo [INFO] Services available at:
|
||||
echo - Frontend: http://localhost:5173
|
||||
echo - Backend API: http://localhost:3000
|
||||
echo - PostgreSQL: localhost:5432
|
||||
echo - Redis: localhost:6379
|
||||
echo - MinIO: http://localhost:9001 (admin: serpentrace / serpentrace123!)
|
||||
echo - PgAdmin: http://localhost:8080 (admin@serpentrace.dev / admin)
|
||||
echo - Redis Commander: http://localhost:8081
|
||||
goto end
|
||||
|
||||
:dev_watch
|
||||
echo [INFO] Starting SerpentRace development environment with file watchers...
|
||||
echo [INFO] This will automatically sync file changes and rebuild containers as needed
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.watch.yml --env-file .env.dev up --build --watch
|
||||
cd ..
|
||||
goto end
|
||||
|
||||
:dev_stop
|
||||
echo [INFO] Stopping SerpentRace development environment...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.dev.yml down
|
||||
cd ..
|
||||
echo [INFO] Development environment stopped.
|
||||
goto end
|
||||
|
||||
:prod_start
|
||||
echo [WARNING] Starting SerpentRace production environment...
|
||||
echo [WARNING] Make sure to update .env.prod with secure values!
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.prod.yml --env-file .env.prod up --build -d
|
||||
cd ..
|
||||
echo [INFO] Production environment started!
|
||||
echo [INFO] Services available at:
|
||||
echo - Frontend: http://localhost
|
||||
echo - Backend API: http://localhost:3000
|
||||
goto end
|
||||
|
||||
:prod_stop
|
||||
echo [INFO] Stopping SerpentRace production environment...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.prod.yml down
|
||||
cd ..
|
||||
echo [INFO] Production environment stopped.
|
||||
goto end
|
||||
|
||||
:show_logs
|
||||
if "%2"=="" (
|
||||
echo [INFO] Showing logs for all services...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.dev.yml logs -f
|
||||
cd ..
|
||||
) else (
|
||||
echo [INFO] Showing logs for %2...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.dev.yml logs -f %2
|
||||
cd ..
|
||||
)
|
||||
goto end
|
||||
|
||||
:cleanup
|
||||
echo [WARNING] Cleaning up Docker resources...
|
||||
cd SerpentRace_Docker
|
||||
docker-compose -f docker-compose.dev.yml down -v
|
||||
docker-compose -f docker-compose.prod.yml down -v
|
||||
cd ..
|
||||
docker system prune -f
|
||||
echo [INFO] Cleanup completed.
|
||||
goto end
|
||||
|
||||
:show_help
|
||||
echo SerpentRace Docker Management Script
|
||||
echo.
|
||||
echo Usage: %0 [COMMAND]
|
||||
echo.
|
||||
echo Commands:
|
||||
echo dev:start Start development environment with hot reload
|
||||
echo dev:watch Start development environment with file watchers (auto-rebuild)
|
||||
echo dev:stop Stop development environment
|
||||
echo prod:start Start production environment
|
||||
echo prod:stop Stop production environment
|
||||
echo logs [service] Show logs (optionally for specific service)
|
||||
echo cleanup Clean up all Docker resources
|
||||
echo help Show this help message
|
||||
echo.
|
||||
echo Examples:
|
||||
echo %0 dev:start
|
||||
echo %0 dev:watch
|
||||
echo %0 logs backend
|
||||
echo %0 cleanup
|
||||
goto end
|
||||
|
||||
:end
|
||||
Reference in New Issue
Block a user