Visión General
Stack tecnológico institucional del DTI y herramientas de desarrollo recomendadas.
Lineamientos Técnicos DTI — Estándares de desarrollo para los sistemas institucionales Versión 1.0 · 2026
Propósito
Este documento establece los lineamientos técnicos que deben seguir todos los equipos de desarrollo que construyan sistemas de información para la Universidad Adventista de Chile. Su objetivo es garantizar consistencia, seguridad y mantenibilidad en todos los proyectos del DTI.
Stack Tecnológico
El stack es variado, no acumulativo. Las siguientes tablas listan las tecnologías aprobadas en el DTI, no las que se usan juntas en un mismo proyecto. Cada proyecto define una opción de backend, una de frontend y la base de datos que corresponda según su naturaleza y volumen. La elección debe justificarse en el README del proyecto y, ante dudas, coordinarse con el DTI. Lo importante es que la tecnología elegida esté dentro de esta lista, no que se usen todas.
Backend
| Framework | Uso | Base de datos |
|---|---|---|
| Django | APIs REST, aplicaciones con ORM robusto | PostgreSQL (prod), SQLite (dev) |
| FastAPI | Microservicios, APIs de alto rendimiento | PostgreSQL |
| NestJS | Aplicaciones empresariales con TypeScript | PostgreSQL |
Frontend
| Framework | Uso | Estado |
|---|---|---|
| Angular | Aplicaciones empresariales complejas | Standalone components |
| React + Vite | SPAs con alto rendimiento | N/A |
| Django Templates | Aplicaciones monolíticas simples | N/A |
| Astro | Sitios estáticos y documentación | N/A |
| Next.js | React con SSR/SSG | App Router |
Infraestructura y DevOps
| Herramienta | Uso |
|---|---|
| Docker | Containerización de aplicaciones |
| GitLab | Repositorios de código y CI/CD |
| Portainer | Gestión de contenedores en producción |
| NGINX | Reverse proxy y balanceador de carga |
Bases de datos
- Desarrollo: SQLite (fácil setup, no requiere configuración)
- Producción: PostgreSQL (robustez, escalabilidad)
APIs
- REST — API principal para proyectos nuevos
- GraphQL — Cuando se requiere flexibilidad de queries (usar con moderación)
Editores y Herramientas de Desarrollo
Editores recomendados
| Editor | Características |
|---|---|
| VS Code | Extensible, gratuito, muy popular |
| Cursor | AI-native, integración con LLMs |
| WindSurf | AI-first, buenas sugerencias |
Extensiones recomendadas por stack
Las extensiones se instalan según el stack del proyecto, no todas a la vez. Se priorizan extensiones gratuitas y de código abierto.
No se recomienda GitLens como estándar: sus funciones más útiles pasaron a un plan de pago. El control de versiones en el día a día se cubre con la integración Git nativa de VS Code (
vscode.git, ya incluida) y, opcionalmente, Git Graph (gratuito y open source) para visualizar el historial.
Base (todos los proyectos)
- Git — integración nativa de VS Code (incluida); opcional: Git Graph para el historial.
- Docker — extensión oficial de Microsoft para construir y gestionar contenedores.
- EditorConfig for VS Code — respeta el
.editorconfigdel proyecto.
Backend Python (Django / FastAPI)
- Python + Pylance (Microsoft)
- Ruff — linting y formateo
- Django (Baris Sencan) cuando el proyecto usa plantillas Django
Backend Node (NestJS)
- ESLint + Prettier
Frontend (Angular / React / Next.js / Astro)
- ESLint + Prettier
- Angular Language Service — solo en proyectos Angular
- Astro (oficial) — solo en proyectos Astro
- Tailwind CSS IntelliSense — solo si el proyecto usa Tailwind
Flujo de trabajo con IA
El DTI usa herramientas de IA para desarrollo:
- Claude Code — Agente de IA que lee AGENTS.md del proyecto
- OpenCode — CLI con skills para tareas específicas
Para integrar desarrollos IA:
- Revisar Lineamientos de Integración IA
- Usar Guía de herramientas para setup de ambiente
- Seguir proceso de Contributing para PRs
Configuración rápida de ambiente
# 1. Clonar repositorio
git clone [email protected]:dti/proyecto.git
# 2. Crear ambiente virtual Python
python -m venv .venv
source .venv/bin/activate
# 3. Instalar dependencias
pip install -r requirements.txt
# 4. Copiar variables de entorno
cp .env.example .env
# 5. Ejecutar migrations
python manage.py migrate
# 6. Iniciar servidor
python manage.py runserver
Siguiente paso
Revisar Organización de Proyectos Backend para conocer la estructura de carpetas recomendada.