Skip to content

nortdevv/nori

Repository files navigation

Nori_Github

📄 Nori — AI Requirements Assistant 📄

"Estandarizando requerimientos... una conversación a la vez"

Web Stack AI



Nori es una aplicación web que utiliza inteligencia artificial para apoyar a Grupo Financiero Banorte en el levantamiento estructurado de requerimientos de software, generando documentación formal lista para usarse en análisis, diseño y arquitectura.

Este directorio (nori/) es el frontend: React 19, TypeScript, Vite 7, React Router 7 y Tailwind CSS 4. Los microservicios (auth, chat, documentos, RAG, etc.) viven en el proyecto complementario nori-demo.


🔎 Tabla de Contenidos


📄 Descripción del Proyecto

Contexto

En Banorte, la documentación de requerimientos de software suele implicar semanas de iteraciones entre áreas de negocio, TI y arquitectura, generando información dispersa, ambigua y poco estandarizada. Nori se propone como un asistente virtual especializado que guía a los usuarios a través de una conversación estructurada, integra conocimiento organizacional y produce automáticamente documentos en la plantilla oficial del banco.

Nori forma parte del Reto 1 — Ingeniería de Software con IA de Banorte, enfocado en agilizar la generación de documentos de análisis, diseño y arquitectura de solución.


🎯 Problema y Solución

🔴 Problema Identificado

  • Documentos de requerimientos incompletos, ambiguos y desestructurados.
  • Dependencia fuerte del conocimiento tácito de expertos, difícil de escalar.
  • Alto tiempo de ciclo para consolidar un documento formal entre múltiples áreas.
  • Falta de estandarización, trazabilidad y gobernanza de iniciativas tecnológicas.

✅ Nuestra Solución

Una aplicación web interna para Banorte que:

  • Ofrece un asistente conversacional que guía el levantamiento de requisitos.
  • Clasifica automáticamente la solicitud y valida que esté dentro del dominio permitido.
  • Usa RAG para consultar información organizacional (departamentos, stack tecnológico, roadmap, lineamientos).
  • Genera automáticamente un documento de levantamiento de requerimientos en formato .docx con plantilla corporativa.
  • Permite editar, versionar y reanudar conversaciones y documentos previamente guardados.
  • Incluye historial de proyectos, indicadores de avance y validación de secciones obligatorias antes de exportar.

🧠 Características Principales

  • 💬 Chat IA con gestión de contexto y auto-guardado de la conversación.
  • 🗂️ Dashboard de proyectos con búsqueda, filtros y estados (En progreso, Completado, Borrador).
  • 🧭 Clasificador de dominio para asegurar que la iniciativa pertenece al ámbito de TI / requerimientos.
  • 🏢 Integración con base de conocimiento RAG: departamentos, tecnologías actuales y planeadas, estándares internos.
  • 📝 Editor de documento con sugerencias de mejora generadas por IA y edición sección por sección.
  • 📦 Exportación a .docx siguiendo el formato NombreCortoIniciativaYYYY-MM-DD.docx sin pop-ups.
  • 🔐 Login contra el servicio de auth (JWT); rutas principales protegidas. (La capa HTTP del cliente aún puede evolucionar para enviar el Bearer en todas las llamadas cuando el backend lo exija de forma uniforme; ver AGENTS.md.)

🛠️ Tecnologías Utilizadas

Categoría Tecnología Propósito
Frontend (este repo) React, TypeScript, Vite, React Router, Tailwind SPA y UI responsiva
Backend Node.js / Express (nori-demo) APIs REST por microservicio
Base de Datos PostgreSQL Proyectos, usuarios, conversaciones, documentos
IA/LLM Gemini / OpenAI API (nori-demo) Generación y análisis de texto
RAG Vector Store (p. ej. pgvector) Búsqueda semántica sobre conocimiento
Docs Generación DOCX / HTML preview (servicio docs) Salida formal y previsualización
Auth JWT vía servicio dedicado Login email/contraseña y sesión en cliente
Control de versiones Git & GitHub Colaboración del equipo NortDev

(Los detalles de despliegue y versiones concretas pueden variar; el frontend prioriza las variables VITE_* descritas abajo.)


🚀 Instalación y Configuración

Frontend: este proyecto. APIs y BD: aloja el stack en nori-demo (puertos y README de ese repo).

Requisitos previos (frontend)

  • Node.js 20+
  • npm (o pnpm)

Para ejecutar el producto completo (chat, documentos, auth), también necesitas el entorno de nori-demo (Node, PostgreSQL, claves de LLM, etc.), según su documentación.

Arranque rápido — solo UI

cd nori
npm install
npm run dev

Vite sirve la app (por defecto http://localhost:5173).

Variables de entorno

Crea nori/.env.local si los servicios no están en los valores por defecto de src/config/api.ts:

VITE_AUTH_SERVICE_URL=http://localhost:3003
VITE_CHAT_SERVICE_URL=http://localhost:3001
VITE_DOCUMENT_SERVICE_URL=http://localhost:3004

🧪 Pruebas E2E (Playwright)

Las pruebas viven en e2e/. El comando test:e2e puede levantar Vite automáticamente (webServer en playwright.config.ts).

Primera vez (sin node_modules):

cd nori
npm install
npm run test:e2e:install
npm run test:e2e
  • npm install — dependencias de la app y de Playwright.
  • test:e2e:install — descarga Chromium para Playwright (una vez por máquina o tras actualizar Playwright).
  • test:e2e — ejecuta las pruebas.

Cuando ya tienes dependencias instaladas:

cd nori
npm run test:e2e

Vuelve a ejecutar npm run test:e2e:install si Playwright se actualizó o falta el navegador.

Opcional: npm run test:e2e:ui abre la UI interactiva de Playwright.

Las pruebas de humo que solo cargan login no requieren levantar todo nori-demo. Escenarios que llamen a auth, chat u otros APIs necesitan los servicios en marcha y las VITE_* acordes.


📚 Documentación para contribuidores

  • AGENTS.md — rutas, clientes API (authApi, chatApi, documentApi), flujo de documento/chat, notas de autenticación y patrones de UI.

👥 Equipo NortDev

Rogelio Villarreal
Rogelio Jesús Villarreal De Ochoa

⚙️ Tech Lead / Full-Stack
A00838563
Bryan Lemus
Bryan Alberto Lemus Meza

🤖 Backend / Full-Stack
A00838730
Vania Sánchez
Vania Michelle Sánchez Murillo

🎨 UX / QA
A00838552
Jordy Granados
Cristian Jordy Granados Castañeda

🐳 DevOps / Integraciones
A00998753
Luis Bolaña
Luis Antonio Bolaina Domínguez

📋 Product Owner / Full-Stack
A01737959

About

Nori es una herramienta de generación de documentos de requerimientos y diseño de arquitecturas para Grupo Financiero Banorte

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages