Skip to content

Despensa-app es una aplicación que te permite gestionar los productos que compras de forma habitual.

License

Notifications You must be signed in to change notification settings

despensa-app/despensa-rest-api

Repository files navigation

Milestone hacktoberfest


DeepSource Docker Pulls Docker Image Version

Despensa-app - REST API

📚 Translations Readme: English

Descripción

Despensa-app es una aplicación que te permite gestionar los productos que compras de forma habitual.

Este proyecto proporciona los recursos a consumir por el proyecto web.

Características
  • Ver/Crear/Modificar/Eliminar listas
  • Listas públicas
  • Listas por usuario (privadas)
  • Agregar productos a la lista
  • Filtrar productos
  • Ver información de un producto
  • Marcar productos de la lista
  • Crear usuario
  • Autenticación
  • Autorización JWT
  • Administración (Pendiente)
  • Contenerización con docker
  • Versionado de base de datos con Flyway

Empezar a trabajar

Despliegue en local

Requisitos

Configurar base de datos

  • Crear el esquema despensa_app.
  • Establecer la contraseña del usuario root en la propiedad spring.datasource.password del archivo application.properties.

Compilar e iniciar el proyecto

Abrir una consola en la raíz del proyecto y ejecutar los siguientes comandos:

  • .\mvnw clean install
  • .\mvnw spring-boot:run

Despliegue con docker

Con esta opción no necesitaremos instalar mysql. La aplicación se iniciará con el perfil dockerdev. MySQL utilizará el puerto 3307.

Iniciar imagen de docker hub

docker compose -f compose.despensa-rest-api.yaml up -d

Crear imagen e iniciar

docker compose up --build -d

Trabajando en IntelliJ IDEA

Community Edition

Las siguientes indicaciones son para la versión Ultimate, pero en su mayoría también funcionan en la versión Community Edition.

Hay publicada una demostración de despliegue local con la versión Community Edition en la sección de discusiones del repositorio.

Clonar proyecto

File > New > Project from Version Control

Establecer la ruta local de maven

(No es necesario si se pretende usar mvnw)

File > Settings > Build, Execution, Deployment > Build Tools > Maven

  • maven home path

Configuraciones de ejecución

Run > Run...

  • [clean,install]: Compila el proyecto sin test.
  • [clean,install] Tests: Compila ejecutando los test.
  • [spring-boot:run]: Inicia el proyecto.
  • App: Inicia el proyecto. (Versión IDEA Ultimate)
  • docker compose: Crear una imagen e inicia el proyecto.
  • docker compose (despensa-rest-api): Inicia la imagen de docker hub.

Habilitar EditorConfig

Es necesario tener habilitado el soporte de EditorConfig:

Settings > Editor > Code Style

  • Enable Editor Config Support

Establecer acciones de guardado

  • Recomiendo tener activado las acciones de guardado: Reformat code y Optimize imports.

Settings > Tools > Actions on save

Tener habilitado EditorConfig.

Spring-boot-devtools

Activar la compilación automática del proyecto:

Settings > Build, Execution, Development > Compiler

  • Build project automatically

Swagger

Al iniciar la aplicación podemos acceder a la siguiente URL y probar los recursos disponibles:

Usando postman

Como alternativa a swagger, puedes hacer un fork o visualizar la colección de recursos de la aplicación en siguiente enlace:

Run In Postman

Contribuir

Cualquier contribución que hagas será muy apreciada.

Antes de empezar a codificar, lea las directrices de contribución.

Agradecimientos

Gracias a JetBrains por proporcionar una licencia para IntelliJ IDEA para desarrollar este proyecto.

JetBrains IntelliJ IDEA
JetBrains logo IntelliJ IDEA logo

Licencia

MIT license.

About

Despensa-app es una aplicación que te permite gestionar los productos que compras de forma habitual.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published