Skip to content

Benchav/avicon-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

255 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐔 Avicon API

avicon

API para la gestión de pollos en granjas, desarrollada con Node.js, SQLite, Express y TypeScript, documentada con Swagger y utilizando software libre.
El objetivo es ofrecer una solución innovadora para controlar el ciclo de vida de los pollos: desde su nacimiento hasta el momento en que están listos para carne, incluyendo su estado de salud y estadísticas por lote, esto mejorara la produccion y el corrento funcionamiento de los procesos internos, reduciendo perdidas al mínimo.

⚙️ Tecnologías usadas

- [Node.js](https://nodejs.org/) – Runtime de JavaScript
- [Express](https://expressjs.com/) – Framework web
- [TypeScript](https://www.typescriptlang.org/) – Tipado estático
- [Swagger](https://swagger.io/) – Documentación interactiva de API
- [ts-node-dev](https://github.com/wclr/ts-node-dev) – Hot reload para TypeScript
- [Turso-Sqlite]https://turso.tech/ - Almacenamiento de base de datos en la nube

🚀 Ejecución

#para instalar en tu pc local sigue los siguientes pasos y comandos

#primero clona el repositorio en tu computadora
git clone https://github.com/Benchav/avicon-api.git

#navega a la carpeta del proyecto
cd avicon-api

#instala las dependencias
npm install

#corre el proyecto en tu localhost
npm run dev

📚 Documentación de la API

#para ver la documentacion de swagger en su navegador ponga la siguiente ruta mientras corre el proyecto
http://localhost:3000/api-docs

📂 Estructura del proyecto

src/
├── Application/                   # Capa de aplicación (casos de uso)
│   ├── services/
│   │   ├── interfaces/            # Interfaces de servicios de aplicación
│   │   └── implementations/       # Implementaciones de los servicios
│   ├── dtos/                      # Objetos de transferencia de datos
│   └── use_cases/                 # Lógica de orquestación (casos de uso específicos)
├── Domain/                        # Capa del Dominio (corazón del negocio)
│   ├── models/                    # Entidades, agregados y objetos de valor
│   ├── repositories/              # Interfaces de los repositorios
│   └── services/                  # Servicios de dominio (lógica de negocio que no va en entidades)
├── Infrastructure/                # Capa de infraestructura (detalles técnicos)
│   ├── database/                  # Configuración y conexión a la base de datos
│   │   ├── models/                # Modelos de base de datos (ej. ORM)
│   │   ├── singleton/             # Interfaces y clases singleton 
│   │   └── repositories/          # Implementaciones de los repositorios
│   ├── utilities/                 # Utilidades para la infraestructura
│   ├── builders/                  # builder para construir sql queries
│   └── swagger/                   # Archivos de configuración de Swagger
├── WebApi/                        # Capa de presentación (API)
│   ├── controllers/               # Controladores de la API (exponen la lógica de la aplicación)
│   ├── routes/                    # Definición de rutas
│   └── middlewares/               # Middleware para la API
└── app.ts                         # Archivo de inicio de la aplicación

🛠️ Scripts útiles

npm run dev # Ejecutar en desarrollo con recarga automática

npm run build # Compilar TypeScript a JavaScript

npm start # Ejecutar versión compilada</p>

✨ Autores

Desarrollador Oscar Molina
💼 Desarrollador Web
GitHub: @oscarMolina1523
linkedin: https://www.linkedin.com/in/oscar-molina-916195309

Desarrollador Joshua Chavez
💼 Desarrollador Web
GitHub: @benchav
linkedin: https://www.linkedin.com/in/joshua-benjamin-ch%C3%A1vez-lau-44a65534b

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors