Sistema de Usuarios - CRUD + Autenticación Backend API #1

Closed
opened 2026-03-31 20:07:32 +00:00 by dmolinari · 0 comments
Owner

Descripción

Implementar el sistema de usuarios fundacional del proyecto PruebaGentle. Este es el primer feature que define los arquetipos de Backend (C# .NET + Dapper + SQL Server).

Alcance

CRUD Básico de Usuarios

  • Create: Crear usuario con username, password, email, nombre completo
  • Read: Obtener usuario por ID, listar todos los usuarios
  • Update: Actualizar datos del usuario
  • Delete: Eliminar usuario por ID

Autenticación Simple

  • Login: Validar username + password (bcrypt), retornar JWT

Entidad Usuario

Campo Tipo Detalle
Id int (identity) Primary key, auto-incremental
Username string Único, requerido
PasswordHash string Hash bcrypt del password
Email string Único, requerido
NombreCompleto string Requerido
FechaCreacion DateTime Auto-generado al crear

Approach: Backend-First

Fase 1: Backend API + Stored Procedures

  • Estructura del proyecto .NET (Clean/Hexagonal Architecture)
  • Stored Procedures SQL Server (CRUD + Login)
  • Dapper Repositories + Interfaces
  • Controllers REST (7 endpoints)
  • JWT Authentication

Fase 2: Frontend (futuro)

  • React + TypeScript + Vite
  • Página de usuarios + Login

Stored Procedures

  • sp_User_Create
  • sp_User_GetById
  • sp_User_GetAll
  • sp_User_Update
  • sp_User_Delete
  • sp_User_GetByUsername

API Endpoints

  • POST /api/users - Crear usuario
  • GET /api/users - Listar todos
  • GET /api/users/{id} - Obtener por ID
  • PUT /api/users/{id} - Actualizar
  • DELETE /api/users/{id} - Eliminar
  • POST /api/auth/login - Login (validar credenciales)

Branch de Trabajo

feat/sistema-usuarios

Tags

  • feature
  • backend
  • fundacional
## Descripción Implementar el sistema de usuarios fundacional del proyecto PruebaGentle. Este es el primer feature que define los arquetipos de Backend (C# .NET + Dapper + SQL Server). ## Alcance ### CRUD Básico de Usuarios - **Create**: Crear usuario con username, password, email, nombre completo - **Read**: Obtener usuario por ID, listar todos los usuarios - **Update**: Actualizar datos del usuario - **Delete**: Eliminar usuario por ID ### Autenticación Simple - **Login**: Validar username + password (bcrypt), retornar JWT ### Entidad Usuario | Campo | Tipo | Detalle | |-------|------|---------| | Id | int (identity) | Primary key, auto-incremental | | Username | string | Único, requerido | | PasswordHash | string | Hash bcrypt del password | | Email | string | Único, requerido | | NombreCompleto | string | Requerido | | FechaCreacion | DateTime | Auto-generado al crear | ## Approach: Backend-First ### Fase 1: Backend API + Stored Procedures - Estructura del proyecto .NET (Clean/Hexagonal Architecture) - Stored Procedures SQL Server (CRUD + Login) - Dapper Repositories + Interfaces - Controllers REST (7 endpoints) - JWT Authentication ### Fase 2: Frontend (futuro) - React + TypeScript + Vite - Página de usuarios + Login ## Stored Procedures - `sp_User_Create` - `sp_User_GetById` - `sp_User_GetAll` - `sp_User_Update` - `sp_User_Delete` - `sp_User_GetByUsername` ## API Endpoints - `POST /api/users` - Crear usuario - `GET /api/users` - Listar todos - `GET /api/users/{id}` - Obtener por ID - `PUT /api/users/{id}` - Actualizar - `DELETE /api/users/{id}` - Eliminar - `POST /api/auth/login` - Login (validar credenciales) ## Branch de Trabajo `feat/sistema-usuarios` ## Tags - `feature` - `backend` - `fundacional`
Sign in to join this conversation.