Skip to content

Software to control workflows in QA, development, IT, and management areas smoothly and on time, safeguarding secure information.

Notifications You must be signed in to change notification settings

oscarMolina1523/workflowSystemAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

227 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API DE SISTEMA DE CONTROL DE PETICIONES INTER-SUCURSALES

Administra mas de 4 sucursales ubicadas en diferentes lugares y subdominios, todo controlado desde la casa matriz o dominio principal, controla el flujo de trabajo atraves de roles, permisos , areas o sucursales, y todo en tiempo real, authenticacion atraves de tokens y permisos de usuarios.

📌 Funcionalidades

✅ Authenticacion por token.
✅ Gestión de tareas con creación, edición y eliminación .
✅ Reportes en tiempo real con gráficos (Recharts)
✅ Control de usuarios con roles y permisos.
✅ CRUDs de Áreas, roles, usuarios, tareas.

⚙️ Tecnologías usadas

- [Nodejs](https://nodejs.org/es) – Framework
- [TypeScript](https://www.typescriptlang.org/) – Tipado estático
- [Vercel](https://vercel.com/) – Hosting y despliegue automático
-[Turso](https://app.turso.tech/) - Almacenamiento de la informacion en Database

🚀 Ejecución

#clonar repositorio
git clone https://github.com/oscarMolina1523/workflowSystemAPI.git

#navegar a la carpeta del proyecto
cd workflowSystemAPI

#instalar dependencias
npm install

#correr el proyecto en local
npm run dev

📂 Estructura del proyecto

#Esa estructura sigue el patrón de diseño de Arquitectura Limpia (Clean Architecture), para proyectos Node.js grandes y mantenibles.
├───Aplication.Endpoint   # Lógica de la aplicación: Contiene los "Use Cases" (Casos de Uso) o Application Services.
├───Domain.Endpoint       # El Corazón del Negocio: Define las reglas de negocio, entidades, y contratos (interfaces) que son independientes de la tecnología.
│   ├───dtos              # Data Transfer Objects: Estructuras de datos para pasar información entre capas .
│   ├───entities          # Las Entidades del Negocio: Objetos que representan el estado y las reglas 
│   ├───interfaces        # Contratos/Puertos: Define las "firmas" (interfaces) que otras capas (Infrastructure) deben implementar.
│   │   ├───repositories  # Contratos para acceder a datos (ej. IUserRepository, define los métodos pero no la implementación de la base de datos).
│   │   └───services      # Contratos para servicios externos o de dominio (ej. IEmailSender).
│   ├───services          # Servicios de Dominio: Lógica que no encaja directamente en una entidad (ej. transferir dinero entre cuentas).
│   └───utils             # Utilidades o helpers puros del dominio (ej. funciones de validación de negocio).
├───Infrastructure.Endpoint   # Implementación: Contiene las implementaciones concretas de las interfaces definidas en Domain, conectando con el mundo exterior.
│   ├───builders          # Clases para construir objetos complejos (a menudo, servicios o configuraciones).
│   ├───data              # Implementación de acceso a datos.
│   │   ├───info          # Puede contener migraciones de base de datos o información de esquema.
│   │   └───repositories  # Implementaciones concretas de las interfaces de 'repositories' (ej. UserRepository.js usando Mongoose/Sequelize).
│   ├───database          # Módulos de conexión y configuración de la base de datos (ej. pool de conexiones).
│   ├───interfaces        # Contratos o interfaces específicos de la infraestructura (menos común en Clean Architecture, a veces usado para adaptadores).
│   │   └───database      # Interfaces para la capa de base de datos si se requiere abstracción extra.
│   ├───services          # Implementación de servicios externos (ej. la implementación real del IEmailSender usando SendGrid).
│   └───utils             # Utilidades de bajo nivel o relacionadas con el sistema (logs, archivos, etc.).
└───WebApi                # Interfaz de Usuario/Entrada: El punto de entrada a la aplicación (el framework web, en este caso Node.js/Express).
├───controllers           # Manejan la petición HTTP, llaman a los Casos de Uso (Application.Endpoint) y formatean la respuesta.
├───routes                # Archivos de configuración de rutas (mapeo de URLs a Controllers).
├───swagger               # Documentación de la API (archivos de configuración de Swagger/OpenAPI).
└───utils                 # Middleware, validadores de entrada HTTP o helpers específicos de la capa web.

🛠️ Scripts útiles

npm run dev → Modo desarrollo
npm run build → Compila para producción
npm run preview → Vista previa de la build

✨ Autores

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

About

Software to control workflows in QA, development, IT, and management areas smoothly and on time, safeguarding secure information.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors