Registro de Usuario - bootcamp-uchile-2026/grupo-2-backend GitHub Wiki

Registro de Usuario

Funcionalidad

Permite al usuario registrarse en la plataforma mediante el ingreso de sus datos personales y credenciales necesarias para crear una cuenta.


Objetivo

Crear y almacenar una nueva cuenta de usuario, validando que la información proporcionada cumpla con las reglas establecidas por el sistema.


Responsabilidad del Backend

El backend deberá:

  1. Recibir la información proporcionada por el usuario para crear su cuenta.
  2. Validar que la información ingresada cumpla con los requisitos establecidos.
  3. Verificar que no exista previamente un usuario con los identificadores únicos requeridos.
  4. Almacenar la información validada del nuevo usuario.
  5. Generar y asignar un identificador único al usuario registrado.

Contrato de API

Endpoint asociado:

POST /usuario

DTO de entrada:

RegistroUsuarioDto

DTO de salida:

RegistroUsuarioResponseDto

La definición completa del método HTTP, query parameters y respuestas se encuentra centralizada en Endpoints.

La estructura completa de los datos devueltos se encuentra centralizada en DTOs.


Reglas de negocio

  • El RUT del usuario no puede estar registrado previamente en el sistema.
  • El correo electrónico del usuario no puede estar registrado previamente en el sistema.
  • Los campos obligatorios deben ser informados y cumplir con el formato establecido.
  • La información registrada debe asociarse a un identificador único de usuario.
  • Las credenciales del usuario deben almacenarse de forma segura y no en texto plano.
  • La creación de la cuenta no implica la autenticación del usuario.

Relación con Página de Mi Cuenta

flowchart TD
    A[Cuenta de Usuario] --> B[Crear cuenta]
    B --> C[POST /usuario]
    C -->|Body| D[RegistroUsuarioDto]
    D --> E{¿Información válida?}

    E -->|No| F[Informar error]
    F --> B

    E -->|Sí| G[Crear usuario]
    G --> H[RegistroUsuarioResponseDto]
    H --> I[Usuario registrado]
    I --> J[Autenticación]
    J --> K[Ingresar]
    K --> L[Perfil de Usuario]