Home - dblancou/ApiLetterboxdProyectoFinal GitHub Wiki

Bienvenido a la API del Proyecto Final

Esta API ha sido desarrollada en Spring Boot para una aplicación Android de reseñas sobre cine. Proporciona funcionalidades para gestionar películas, listas de películas, reseñas de usuarios y autenticación.

Descripción General

  • Gestión de Películas: Los usuarios pueden agregar nuevas películas a la base de datos, actualizar información existente, eliminar películas y buscar películas por diferentes criterios como título, director y género.
  • Listas de Películas Personalizadas: Los usuarios pueden crear y gestionar listas personalizadas de películas. Estas listas pueden ser útiles para organizar películas por categorías, géneros o cualquier otro criterio que el usuario prefiera.
  • Reseñas de Usuarios: La API permite a los usuarios escribir reseñas de películas. Estas reseñas pueden incluir una calificación y un comentario detallado sobre la película.
  • Autenticación y Autorización: Implementa autenticación basada en JWT (JSON Web Tokens) para asegurar que solo usuarios autenticados puedan acceder a ciertas funcionalidades. Además, proporciona mecanismos para el registro y login de usuarios.

Tecnologías Utilizadas

  • Spring Boot: Framework utilizado para construir la API. Proporciona un desarrollo rápido y sencillo de aplicaciones Java.
  • Hibernate/JPA: Utilizado para la persistencia de datos y el manejo de la base de datos MySQL.
  • JWT (JSON Web Tokens): Usado para la autenticación segura de los usuarios.
  • Maven: Herramienta de gestión de proyectos y dependencias.

Arquitectura

La arquitectura de esta API sigue el patrón de diseño de capas, lo que mejora la modularidad y facilita el mantenimiento del código. Las principales capas son:

  • Controladores: Gestionan las solicitudes HTTP y responden con datos JSON.
  • Servicios: Contienen la lógica de negocio y coordinan las operaciones entre los controladores y los repositorios.
  • Repositorios: Interactúan directamente con la base de datos para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar).

Uso Esperado

Esta API está destinada a ser utilizada por la aplicación movil de mi Proyecto Final, ya que necesita de un backend robusta para gestionar datos de películas y reseñas. La integración con la App se realiza a través de solicitudes HTTP estándar utilizando JSON como formato de intercambio de datos.