forked from innovacion/Mayacontigo
ic
This commit is contained in:
136
README.md
136
README.md
@@ -0,0 +1,136 @@
|
||||
# MayaContigo Monorepo
|
||||
|
||||
Bonjour,
|
||||
Este monorepo contiene todas las applicaciones RAG del equipo de Innovacion en Banorte.
|
||||
Su proposito es poder acelerar la creacion de nuevos RAGs, e ir construyendo una libreria de componentes reutilizables.
|
||||
Adicionalmente, tambien contiene una serie de notebooks para procesar documentos, evaluar RAGs, generar preguntas sinteticas, etc/
|
||||
|
||||
## 🚀 Inicio Rápido
|
||||
|
||||
```bash
|
||||
# Instala el monorepo
|
||||
mise setup
|
||||
|
||||
# Crea una nueva aplicación RAG
|
||||
mise new prueba
|
||||
|
||||
# Creación interactiva
|
||||
mise dev --app prueba
|
||||
```
|
||||
|
||||
### Prerrequisitos
|
||||
|
||||
Si estas en el ambiente de desarrollo oficial, tu maquina virtual ya cuenta con estos programas.
|
||||
|
||||
- **Mise** [Docs](https://mise.jdx.dev/)
|
||||
- **Docker** [Docs](https://www.docker.com/)
|
||||
- **Vault** [Docs](https://developer.hashicorp.com/vault/)
|
||||
|
||||
## 📁 Estructura del Proyecto
|
||||
|
||||
```
|
||||
mayacontigo/
|
||||
├── apps/ # Aplicaciones individuales
|
||||
├── packages/ # Paquetes compartidos
|
||||
├── notebooks/ # Marimo notebooks
|
||||
├── .templates/ # Plantillas de proyecto
|
||||
├── .containers/ # Configuraciones de Docker
|
||||
└── compose.yaml # Servicios de Docker Compose
|
||||
```
|
||||
|
||||
## 🛠️ Comandos de Desarrollo
|
||||
|
||||
### Crear Nuevos Proyectos
|
||||
|
||||
```bash
|
||||
# Crea una nueva aplicación RAG
|
||||
mise new <nombre-app>
|
||||
|
||||
# Creación interactiva
|
||||
mise new
|
||||
```
|
||||
|
||||
### Entorno de Desarrollo
|
||||
|
||||
```bash
|
||||
# Inicia servidores de desarrollo (frontend + backend)
|
||||
mise dev # Selección interactiva de aplicación
|
||||
mise dev --app <nombre-app> # Inicia aplicación específica
|
||||
mise dev --no-dashboard # Deshabilita el dashboard en vivo
|
||||
mise dev --check-deps # Solo verifica dependencias
|
||||
mise dev --list-apps # Lista aplicaciones disponibles
|
||||
```
|
||||
|
||||
### Gestión de Contenedores
|
||||
|
||||
```bash
|
||||
# Inicia contenedores localmente
|
||||
mise container:start # Selección interactiva
|
||||
mise container:start <nombre-app> # Inicia aplicación específica
|
||||
mise container:start --list # Lista contenedores disponibles
|
||||
|
||||
# Sube a Azure Container Registry
|
||||
mise container:push # Selección interactiva
|
||||
mise container:push <nombre-imagen> # Sube imagen específica
|
||||
mise container:push --list # Lista imágenes disponibles
|
||||
```
|
||||
|
||||
## 🏗️ Stack Tecnológico
|
||||
|
||||
### Tecnologías Centrales
|
||||
- **Frontend**: React/Next.js con TypeScript
|
||||
- **Backend**: Python con FastAPI/Uvicorn
|
||||
- **Gestión de Paquetes**: pnpm (Node.js), uv (Python)
|
||||
- **Contenedorización**: Docker & Docker Compose
|
||||
|
||||
### Infraestructura
|
||||
- **Gestión de Secretos**: HashiCorp Vault
|
||||
- **Registro de Contenedores**: Azure Container Registry
|
||||
- **Observabilidad**: OpenTelemetry
|
||||
- **Proxy Inverso**: Traefik
|
||||
|
||||
## 🎯 Creando tu Primera Aplicación
|
||||
|
||||
1. **Genera desde plantilla**
|
||||
```bash
|
||||
mise new mi-app-rag
|
||||
```
|
||||
|
||||
2. **Inicia desarrollo**
|
||||
```bash
|
||||
mise dev --app mi-app-rag
|
||||
```
|
||||
|
||||
3. **Accede a tu aplicación**
|
||||
- Frontend: http://localhost:3000
|
||||
- API Backend: http://localhost:8000
|
||||
|
||||
## 🔧 Configuración
|
||||
|
||||
### Desarrollo Local
|
||||
|
||||
- Frontend corre en puerto 3000
|
||||
- APIs Backend corren en puerto 8000
|
||||
- Servicios Docker usan puertos auto-asignados (8001+)
|
||||
|
||||
### Depuración
|
||||
- Usa `--no-dashboard` para salida más simple
|
||||
- Verifica `mise dev --check-deps` para problemas de dependencias
|
||||
- Ve logs de contenedores con `docker logs <nombre-contenedor>`
|
||||
|
||||
## 🤝 Contribuyendo
|
||||
|
||||
1. Crea nuevas aplicaciones usando el sistema de plantillas
|
||||
2. Sigue la estructura del monorepo
|
||||
3. Usa los comandos de desarrollo proporcionados
|
||||
4. Asegúrate de que todas las dependencias estén correctamente configuradas
|
||||
|
||||
## 📖 Recursos Adicionales
|
||||
|
||||
- **Plantillas**: Revisa `.templates/` para plantillas de proyecto disponibles
|
||||
- **Docker**: Ve `.containers/` para configuraciones de contenedorización
|
||||
- **Tareas**: Explora `.mise/tasks/` para scripts de automatización disponibles
|
||||
|
||||
---
|
||||
|
||||
*¡Feliz programación! 🚀*
|
||||
|
||||
Reference in New Issue
Block a user