Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alba María Álvarez
/
AppRecetas
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e980c768
authored
Sep 04, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
docs(README): añadido esquema de documentación
parent
080302b2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
93 additions
and
5 deletions
README.md
README.md
View file @
e980c768
...
@@ -6,8 +6,30 @@
...
@@ -6,8 +6,30 @@
## Descripción del proyecto
## Descripción del proyecto
## Cómo ejecutarlo
---
## Configuración y ejecución
### Paso 1 - Clonar el proyecto
```
bash
git clone https://gitlab.ujaen.es/amaf0001/AppRecetas.git
```
### Paso 2 - Seleccionar IDE
Se ha desarrollado con IntelliJ
### Paso 3 - Seleccionar configuración de ejecución
Si es IntelliJ Ultimate, seleccionar la opción de Spring Boot en la configuración de la ejecución mediante el IDE.
Si es otra versión, no sé si hay que añadir dependencias al pom o crear el proyecto desde https://start.spring.io/ e importar la estructura.
### Paso 4 - Ejecutar
Se lanza en el puerto http://localhost:8080.
---
## Dependencias
## Dependencias
*
Spring Boot Core
*
Spring Boot Core
...
@@ -26,11 +48,76 @@
...
@@ -26,11 +48,76 @@
-
jackson-databind -> para convertir objetos Java a JSON y viceversa.
-
jackson-databind -> para convertir objetos Java a JSON y viceversa.
-
org.projectlombok:lombok -> para reducir código repetitivo en las clases modelo.
-
org.projectlombok:lombok -> para reducir código repetitivo en las clases modelo.
## Endpoints API
---
GET /api/recetas → Lista todas las recetas
## Roles
POST /api/recetas → Agrega una receta
GET /api/recetas/{id} → Obtiene una receta específica
-
USER: tienen acceso a la funcionalidad "básica" de un usuario.
-
ADMIN: pueden acceder a toda la funcionalidad de la app.
---
## Conexión BBDD
---
## Conexión con el micro servicio
Escucha en el puerto 5000 al micro servicio...
---
## Estructura
Uso de arquitectura hexagonal en tres capas:
1.
Domain -> Capa central dónde se encuentran todos los datos de la entidad.
2.
Application -> Capa de negocio dónde se realiza toda la lógica de la app y la conexión con el micro servicio.
3.
Infrastructure -> Capa exterior de conexión con el frontend y con la BBDD para peticiones.
---
## Endpoints
### USER
-
**Autenticación**
:
-
POST
`/auth/register`
-> Crea un usuario nuevo con los datos proporcionados siempre que cumplan los requisitos.
-
POST
`/auth/login`
-> Permite el acceso a un usuario registrado comprobando sus credenciales.
-
**Lectura**
:
-
GET
`/user/me`
-> Devuelve la información del usuario que la está solicitando.
-
GET
`/user`
-> Devuelve un listado paginado con todos los usuarios registrados (solo ADMIN).
-
**Borrado**
:
-
DELETE
`/user/{id}`
-> Elimina de la base de datos al usuario seleccionado por su id (solo ADMIN).
-
**Actualización**
:
-
PUT
`/user`
-> Actualiza los datos del usuario logueado.
-
PATCH
`/user/deactivate`
-> Desactiva (pone fecha de borrado) al usuario logueado.
-
PATCH
`/user/{id}/deactivate`
-> Desactiva a un usuario según su id (solo ADMIN).
-
PARCH
`/user//{id}/activate`
-> Reactiva a un usuario por su id (solo ADMIN).
### RECIPE
-
**Creación**
:
-
POST
`/recipe`
-> Crea una receta nueva para el usuario logueado.
-
**Lectura**
:
-
GET
`/recipe/{id}`
-> Devuelve la receta seleccionada mediante su id.
-
GET
`/recipe/mine`
-> Devuelve un listado paginado de todas las recetas del usuario logueado.
-
**Borrado**
:
-
DELETE
`/recipe/{id}`
-> Elimina la receta de un usuario por su id (siempre que esta pertenezca al usuario solicitante).
-
**Actualización**
:
-
PUT
`/recipe/{id}`
-> Actualiza los datos de una receta seleccionada por el usuario (si esta le pertenece).
-
**Búsqueda**
:
-
POST
`/recipe/search`
-> Recibe de la API de Gemini 4 recetas resumidas a través del micro servicio.
-
POST
`/recipe/search/more`
-> Solicita 4 recetas más distintas a las anteriores.
-
POST
`/recipe/detail/{index}`
-> Muestra la receta seleccionada por el usuario al completo.
---
## Seguridad
Se ha implementado un sistema basado en JWT y ... para la autenticación y autorización mediante token.
---
## Ejemplos de uso
## Ejemplos de uso
---
## Conclusión
## Conclusión
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment