feat: Sistema de Usuarios - Backend CRUD + JWT Auth (Issue #1)

Implementación fundacional del proyecto PruebaGentle:
- Arquitectura Clean/Hexagonal: Core, Infrastructure, API
- 6 Stored Procedures para CRUD + autenticación
- JWT authentication con BCrypt password hashing
- Docker Compose (SQL Server + Backend)
- Solución .NET 10 con Dapper + SqlClient

Closes #1
This commit is contained in:
2026-03-31 17:36:04 -03:00
commit 21e7e7b044
34 changed files with 795 additions and 0 deletions

38
docker-compose.yml Normal file
View File

@@ -0,0 +1,38 @@
version: '3.8'
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
environment:
ACCEPT_EULA: "Y"
SA_PASSWORD: "YourStrong@Password123"
MSSQL_PID: "Developer"
ports:
- "1433:1433"
volumes:
- sqlserver_data:/var/opt/mssql
- ./Backend/Sql:/docker-entrypoint-initdb.d
healthcheck:
test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "YourStrong@Password123" -Q "SELECT 1" || exit 1
interval: 10s
timeout: 3s
retries: 10
start_period: 30s
backend:
build:
context: .
dockerfile: Backend/Dockerfile
ports:
- "5000:8080"
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ConnectionStrings__DefaultConnection=Server=sqlserver;Database=PruebaGentle;User Id=sa;Password=YourStrong@Password123;TrustServerCertificate=true;
- JwtSettings__Secret=ThisIsA32CharacterLongSecretKey!!
- JwtSettings__ExpirationHours=24
depends_on:
sqlserver:
condition: service_healthy
volumes:
sqlserver_data: