You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+68-6Lines changed: 68 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,10 @@
12
12
13
13
## Descripción
14
14
15
-
SmartPot-API es una API RESTful desarrollada en **Java 17** con **Spring Boot 3.5.7**, diseñada para gestionar el sistema de cultivos inteligentes SmartPot. La aplicación utiliza **MongoDB** como base de datos principal, **Redis** para almacenamiento en caché, y cuenta con autenticación mediante **JWT** (JSON Web Tokens). La API está completamente documentada con **Swagger/OpenAPI** y ofrece múltiples interfaces de documentación (Swagger UI, ReDoc, Scalar).
15
+
SmartPot-API es una API RESTful desarrollada en **Java 17** con **Spring Boot 3.5.7**, diseñada para gestionar el
16
+
sistema de cultivos inteligentes SmartPot. La aplicación utiliza **MongoDB** como base de datos principal, **Redis**
17
+
para almacenamiento en caché, y cuenta con autenticación mediante **JWT** (JSON Web Tokens). La API está completamente
18
+
documentada con **Swagger/OpenAPI** y ofrece múltiples interfaces de documentación (Swagger UI, ReDoc, Scalar).
16
19
17
20
## Tecnologías Principales
18
21
@@ -29,6 +32,7 @@ SmartPot-API es una API RESTful desarrollada en **Java 17** con **Spring Boot 3.
29
32
-**Maven** - Gestión de dependencias
30
33
31
34
## Estructura del Proyecto
35
+
32
36
```
33
37
34
38
SmartPot-API/
@@ -170,105 +174,135 @@ SmartPot-API/
170
174
├── mvnw / mvnw.cmd # Maven Wrapper
171
175
└── pom.xml # Configuración de Maven
172
176
```
177
+
173
178
## Descripción de Módulos
174
179
175
180
### Cache
181
+
176
182
**Propósito**: Configuración de Redis para almacenamiento en caché.
183
+
177
184
-`RedisConfig.java`: Configuración de conexión y serialización de Redis.
178
185
179
186
### Commands
187
+
180
188
**Propósito**: Gestión de comandos enviados a dispositivos IoT SmartPot.
189
+
181
190
-**Controlador**: Endpoints REST para crear, leer, actualizar y eliminar comandos.
182
191
-**Servicio**: Lógica de negocio para procesamiento de comandos.
183
192
-**Repositorio**: Persistencia de comandos en MongoDB.
184
193
185
194
### Crops
195
+
186
196
**Propósito**: Administración completa del ciclo de vida de cultivos.
197
+
187
198
-**Entidades**: `Crop`, `CropStatus`, `CropType`.
188
199
-**Validación**: Validadores personalizados para integridad de datos de cultivos.
189
200
-**Mapper**: Conversión entre DTOs y entidades usando MapStruct.
190
201
191
202
### Documentation
203
+
192
204
**Propósito**: Configuración de documentación automática de la API.
205
+
193
206
-`SwaggerConfig.java`: Configuración de OpenAPI/Swagger.
194
207
-`DocumentController.java`: Endpoints para servir múltiples UIs de documentación.
195
208
-**Interfaces disponibles**:
196
-
- Swagger UI
197
-
- ReDoc
198
-
- Scalar
209
+
- Swagger UI
210
+
- ReDoc
211
+
- Scalar
199
212
200
213
### Exception
214
+
201
215
**Propósito**: Manejo centralizado de errores y excepciones.
216
+
202
217
-`ApiHandler.java`: Manejador global de excepciones con `@ControllerAdvice`.
0 commit comments