Skip to content

adrianssanz/notasBackend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotasBackend API

Spring Boot H2 Database

Una API RESTful desarrollada con Spring Boot para gestionar roles y usuarios, con funcionalidades de autenticación.


Estructura de Controladores

1. RolController

Base URL: /api/roles

  • GET /api/roles - Obtiene todos los roles registrados.
  • POST /api/roles - Crea un nuevo rol.

2. UsuarioController

Base URL: /api/usuarios

  • GET /api/usuarios - Obtiene una lista paginada de usuarios.
    • Parámetros opcionales:
      • page (por defecto: 0)
      • size (por defecto: 5)
  • GET /api/usuarios/{id} - Obtiene los detalles de un usuario por su ID.
  • PUT /api/usuarios/{id}/rol - Actualiza el rol de un usuario existente por su ID.
  • DELETE /api/usuarios/{id} - Elimina un usuario por su ID de manera logica.

3. AuthController

Base URL: /auth

  • POST /auth/login - Autentica un usuario mediante sus credenciales.
    • Body: { "email": "string", "password": "string" }
  • POST /auth/register - Registra un nuevo usuario.
  • POST /auth/logout - Cierra la sesión del usuario autenticado.
  • GET /auth/sesion - Obtine la sesion del usuario.

4. NotaController

Base URL: /api/notas

  • GET /api/notas - Obtiene una lista paginada de notas.
    • Parámetros opcionales:
      • page (por defecto: 0)
      • size (por defecto: 5)
    • Filtra el rol del usuario y muestra solo las notas propias o, si se es administrador, las de todos los usuarios.
  • POST /api/notas/{usuarioId} - Crea una nueva nota asociada a un usuario.
  • GET /api/notas/{id} - Obtiene los detalles de una nota por su ID.
  • PUT /api/notas/{id} - Actualiza una nota existente por su ID.
  • PUT /api/notas/{id}/estado - Actualiza el estado de una nota existente por su ID.
  • DELETE /api/notas/{id} - Elimina una nota de forma logica por su ID.

Tecnologías Usadas

  • Spring Boot - Framework principal para el desarrollo de la aplicación.
  • H2 Database - Base de datos en memoria para propósitos de desarrollo y pruebas.
  • Jakarta Validation - Validación de datos de entrada.

Instalación y Ejecución

  1. Clona este repositorio:

    git clone <url_del_repositorio>
  2. Ve al directorio del proyecto:

    cd notasBackend
  3. Configura las propiedades de la base de datos y el token de autenticación en application.properties si es necesario.

  4. Ejecuta la aplicación:

    ./mvnw spring-boot:run
  5. Accede a la API en http://localhost:8080.


Próximos Pasos

  • Implementar seguridad con Spring Security.
  • Añadir más endpoints para la gestión de notas.
  • Mejorar el manejo de errores y validaciones adicionales.

Contribuciones

¡Contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request.

About

API Rest de Notas y usuarios desarrollada en Spring.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages