autenticacion-frontend: Login + Register + Dashboard con React #2

Closed
opened 2026-04-01 16:06:14 +00:00 by dmolinari · 0 comments
Owner

Descripción

Implementar el sistema de autenticación del frontend conectado al backend JWT existente. Incluye endpoint público de registro en el backend.

Alcance

Backend (nuevo endpoint):

  • SP sp_User_Register con validación de duplicados
  • DTOs: RegisterDto, RegisterResponseDto
  • Endpoint POST /api/auth/register público (sin [Authorize])
  • Método en UserRepository para llamar al SP

Frontend (bootstrap completo):

  • Bootstrap Vite + React + TypeScript + Tailwind CSS
  • API client centralizado con Bearer token
  • AuthContext + useAuth hook (localStorage)
  • Páginas: Login, Register, Dashboard
  • ProtectedRoute component
  • Router con react-router-dom

Docker + Config:

  • Dockerfile multi-stage con nginx (puerto 8181:80)
  • docker-compose.yml actualizado
  • .gitignore actualizado para Node.js

Decisiones de diseño

  • Context API (no Redux) para auth state
  • fetch nativo (no axios)
  • localStorage para token persistence
  • SP NO retorna PasswordHash
  • Puerto frontend: 8181:80

Dependencias

  • Backend JWT auth existente (POST /api/auth/login)
  • Node.js 22+ instalado
## Descripción Implementar el sistema de autenticación del frontend conectado al backend JWT existente. Incluye endpoint público de registro en el backend. ## Alcance **Backend (nuevo endpoint):** - [ ] SP `sp_User_Register` con validación de duplicados - [ ] DTOs: `RegisterDto`, `RegisterResponseDto` - [ ] Endpoint `POST /api/auth/register` público (sin `[Authorize]`) - [ ] Método en `UserRepository` para llamar al SP **Frontend (bootstrap completo):** - [ ] Bootstrap Vite + React + TypeScript + Tailwind CSS - [ ] API client centralizado con Bearer token - [ ] AuthContext + useAuth hook (localStorage) - [ ] Páginas: Login, Register, Dashboard - [ ] ProtectedRoute component - [ ] Router con react-router-dom **Docker + Config:** - [ ] Dockerfile multi-stage con nginx (puerto 8181:80) - [ ] docker-compose.yml actualizado - [ ] .gitignore actualizado para Node.js ## Decisiones de diseño - Context API (no Redux) para auth state - fetch nativo (no axios) - localStorage para token persistence - SP NO retorna PasswordHash - Puerto frontend: 8181:80 ## Dependencias - Backend JWT auth existente (POST /api/auth/login) - Node.js 22+ instalado
Sign in to join this conversation.