workspace/devtools/README.md
rckrdmrd 789d1ab46b
Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
changes on workspace
2025-12-09 14:46:20 -06:00

161 lines
3.8 KiB
Markdown

# DevTools - Herramientas de Desarrollo
Development tools, configurations, and scripts for the ISEM workspace.
## Estructura
```
devtools/
├── configs/ # Shared configurations
│ ├── eslint.config.base.js # ESLint base configuration
│ ├── prettier.config.js # Prettier configuration
│ ├── tsconfig.base.json # TypeScript base configuration
│ └── jest.config.base.js # Jest base configuration
├── docker/ # Docker utilities
│ └── postgres-init/ # PostgreSQL initialization scripts
├── scripts/ # Development scripts
│ ├── dev.sh # Main development helper
│ ├── bootstrap-project.sh # Crear nuevo proyecto
│ └── validate-structure.sh # Validar estructura
└── templates/ # Project templates
```
## Scripts Disponibles
### dev.sh - Script principal de desarrollo
```bash
# Ver comandos disponibles
./scripts/dev.sh help
# Ver estado del workspace
./scripts/dev.sh status
# Iniciar servicios Docker
./scripts/dev.sh docker-up
# Iniciar un proyecto
./scripts/dev.sh start gamilit
./scripts/dev.sh start trading
./scripts/dev.sh start mecanicas
# Instalar dependencias
./scripts/dev.sh install
# Ver puertos asignados
./scripts/dev.sh ports
# Lint de proyectos
./scripts/dev.sh lint gamilit
```
### bootstrap-project.sh
Crea un nuevo proyecto con estructura estándar.
```bash
# Uso
./scripts/bootstrap-project.sh <nombre> [tipo]
# Tipos disponibles
# - saas (default)
# - erp-vertical
# - analytics
# - edtech
# Ejemplos
./scripts/bootstrap-project.sh mi-proyecto
./scripts/bootstrap-project.sh erp-retail erp-vertical
./scripts/bootstrap-project.sh trading-bot analytics
```
### validate-structure.sh
Valida la estructura del workspace y/o proyectos.
```bash
# Validar todo el workspace
./scripts/validate-structure.sh
# Validar un proyecto específico
./scripts/validate-structure.sh gamilit
```
## Templates
### project-template/
Template base para nuevos proyectos. Contiene:
- Estructura de directorios estándar
- Archivos README.md predefinidos
- Configuración de orchestration
### customer-template/
Template para implementaciones de clientes. Contiene:
- Estructura de configuración
- Archivos de personalización
- Documentación del cliente
## Configuraciones Compartidas
### ESLint (eslint.config.js)
```javascript
import baseConfig from '../../../devtools/configs/eslint.config.base.js';
export default [...baseConfig];
```
### Prettier (.prettierrc.js)
```javascript
module.exports = require('../../../devtools/configs/prettier.config.js');
```
### TypeScript (tsconfig.json)
```json
{
"extends": "../../../devtools/configs/tsconfig.base.json",
"compilerOptions": { "outDir": "./dist", "rootDir": "./src" }
}
```
## Docker
Docker Compose principal en la raíz del workspace (`/docker-compose.yml`):
```bash
# Levantar todos los servicios
docker-compose up -d
# Ver logs
docker-compose logs -f
# Detener servicios
docker-compose down
```
Servicios incluidos:
- **PostgreSQL 15** - Base de datos principal (multi-database)
- **TimescaleDB** - Series temporales para Trading Platform
- **Redis 7** - Cache y sesiones
- **MinIO** - Almacenamiento S3-compatible
- **Mailhog** - Testing de emails
- **Adminer** - UI de administración de BD
## Asignación de Puertos
| Proyecto | Servicio | Puerto |
|----------|----------|--------|
| Gamilit | Backend | 3000 |
| Gamilit | Frontend | 5173 |
| Trading | Backend | 3001 |
| Trading | Frontend | 5174 |
| Trading | Data Service | 8001 |
| ERP Core | Backend | 3010 |
| Mecánicas | Backend | 3011 |
| Shared | PostgreSQL | 5432 |
| Shared | TimescaleDB | 5433 |
| Shared | Redis | 6379 |
---
*DevTools del Workspace ISEM*