AdGan es una API REST desarrollada en Java con Spring Boot que proporciona una solución completa para la gestión de fincas ganaderas. Permite el manejo de inventario de ganado, registro de ventas, gestión de usuarios y seguimiento de operaciones diarias.
- Registro completo de animales (nombre, edad, peso, estado
- Historial de ventas por animal y costos asociados
- Cálculo automático de ganancias
- Múltiples roles (ADMIN, USER, INVITED)
- Autenticación JWT
- Gestión de permisos por rol
- Registro y actualización de perfiles
- Registro detallado de transacciones
- Cálculo de precios por kilo
- Control de costos (báscula, camión)
- Generación de resúmenes financieros
com.adgan
├── controller/ # Controladores REST
├── service/ # Lógica de negocio
│ └── dto/ # Objetos de transferencia de datos
├── persistence/ # Capa de persistencia
│ ├── entity/ # Entidades JPA
│ ├── repository/# Repositorios
│ └── projection/# Vistas de datos
└── config/ # Configuraciones
- Backend: Java 17, Spring Boot 3.2.0
- Base de Datos: MySQL
- ORM: Spring Data JPA
- Seguridad: Spring Security + JWT
- Documentación: Swagger/OpenAPI
- Gestión de Dependencias: Maven
- JDK 17 o superior
- MySQL 8.0 o superior
- Maven 3.6 o superior
- IDE recomendado: IntelliJ IDEA
-
Clonar el Repositorio
git clone https://github.com/BrhayanLS/adgan.git cd adgan -
Configurar Base de Datos
- Crear base de datos MySQL
- Configurar
application.propertiescon credenciales
-
Compilar y Ejecutar
mvn clean install mvn spring-boot:run
GET /cattle/all- Listar todo el ganadoGET /cattle/{id}- Obtener ganado por IDPOST /cattle/save- Registrar nuevo ganadoPUT /cattle/update- Actualizar ganadoDELETE /cattle/{id}- Eliminar ganado
GET /owner/all- Listar todos los usuariosPOST /owner/save- Registrar nuevo usuarioPUT /owner/update- Actualizar usuarioDELETE /owner/{id}- Eliminar usuario
GET /sale/all- Listar todas las ventasPOST /sale/save- Registrar nueva ventaPUT /sale/update- Actualizar ventaDELETE /sale/{id}- Eliminar venta
| Rol | Descripción |
|---|---|
| ADMIN | Acceso total al sistema |
| USER | Acceso a operaciones básicas |
| INVITED | Solo lectura de resúmenes |
| EndPoint | ADMIN | USER | INVITED |
|---|---|---|---|
| All Owner | ✅ | ||
| Get By Id Owner | ✅ | ||
| Save Owner | |||
| Update Owner | ✅ | ||
| Delete Owner | ✅ | ||
| Owners | ✅ | ||
| All Cattle | ✅ | ✅ | |
| Cattles | ✅ | ✅ | |
| Get By Id Cattle | ✅ | ✅ | |
| Cattles Resume | ✅ | ✅ | ✅ |
| Sold | ✅ | ✅ | |
| Save Cattle | ✅ | ✅ | |
| Update Cattle | ✅ | ||
| Delete Cattle | ✅ | ||
| Dead Cattle | ✅ | ✅ | |
| All Sales | ✅ | ||
| Sales | ✅ | ✅ | |
| Get By Id Sale | ✅ | ✅ | |
| Save Sale | ✅ | ||
| Update Sale | ✅ | ||
| Delete Sale | ✅ | ||
| Login |
- Fork el proyecto
- Crear rama para feature (
git checkout -b feature/AmazingFeature) - Commit cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abrir Pull Request
- BrhayanLS - GitHub
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE.md para más detalles.
- GitHub: @BrhayanLS
- Email: [brhayanls10@gmail.com]
⭐️ Si te gusta el proyecto, no olvides darle una estrella en GitHub