Proyecto Universitario UNETI
Desarrollado por: Darwin Colmenares, Yannis Iturriago, GianneFran Radomile
- Diagrama de Clases (PlantUML)
- Diagrama de Arquitectura (Mermaid)
- Diagrama de Secuencia (Mermaid)
- Diagrama de Despliegue (Mermaid)
Archivo: diagramas/clases.puml
Formato: PlantUML
Descripción: Muestra la estructura de clases del sistema, incluyendo modelos Django, ViewSets, y Serializers.
Componentes principales:
GeneradorElectrico- Modelo principalDatosConsumo- Registros de consumoGeneradorViewSet/ConsumoViewSet- Controladores APIGeneradorSerializer/ConsumoSerializer- Serializadores
Visualizar: ```bash
```
Archivo: diagramas/arquitectura.md
Formato: Mermaid
Descripción: Arquitectura cliente-servidor del sistema completo.
Capas:
- Frontend: React + Material-UI (Puerto 3001)
- Backend: Django REST API (Puerto 8000)
- Base de Datos: SQLite/PostgreSQL
- Servicios: Exportación, Gráficos, Autenticación
Archivo: diagramas/secuencia.md
Formato: Mermaid
Descripción: Flujo completo de guardado de datos de consumo.
Flujo:
- Usuario completa formulario
- Validación frontend
- Autenticación API
- Procesamiento backend
- Guardado en base de datos
- Respuesta y actualización UI
Archivo: diagramas/despliegue.md
Formato: Mermaid
Descripción: Arquitectura de deployment en desarrollo y producción.
Entornos:
- Desarrollo: Local con servidores de desarrollo
- Producción: Nginx + Gunicorn + PostgreSQL + Redis
- Monitoreo: Prometheus + Grafana
- CI/CD: GitHub Actions
```bash
./scripts/generar_diagramas.sh ```
Funcionalidades:
- ✅ Instala dependencias automáticamente
- ✅ Genera imágenes PNG/SVG de todos los diagramas
- ✅ Crea carpeta de output organizada
- ✅ Valida códigos PlantUML y Mermaid
- ✅ Genera reporte de estado
```bash
plantuml diagramas/clases.puml -o output/
mmdc -i diagramas/arquitectura.md -o output/arquitectura.png mmdc -i diagramas/secuencia.md -o output/secuencia.png mmdc -i diagramas/despliegue.md -o output/despliegue.png ```
- Node.js (v16+) - Para Mermaid CLI
- Java (v8+) - Para PlantUML
- Python (v3.8+) - Para scripts auxiliares
```bash
cd docs/ npm install ./scripts/generar_diagramas.sh --install ```
- Ve a: https://www.plantuml.com/plantuml/uml/
- Copia el contenido de
diagramas/clases.puml - Pega en el editor
- Haz clic en "Submit"
- Descarga como PNG/SVG
- Ve a: https://mermaid.live/
- Copia el código mermaid de cualquier archivo
.md - El diagrama se renderiza automáticamente
- Exporta como PNG/SVG/PDF
```bash
code --install-extension bierner.markdown-mermaid code --install-extension plantuml.plantuml
```
```bash
npm install -g @mermaid-js/mermaid-cli sudo apt install plantuml # Linux brew install plantuml # macOS ```
- PNG - Imágenes rasterizadas
- SVG - Gráficos vectoriales
- PDF - Documentos imprimibles
- HTML - Páginas web interactivas
```bash
mmdc -i diagramas/arquitectura.md -o output/arquitectura.png
mmdc -i diagramas/arquitectura.md -o output/arquitectura.svg -f svg
mmdc -i diagramas/arquitectura.md -o output/arquitectura.pdf -f pdf
./scripts/generar_diagramas.sh --all-formats ```
``` docs/ ├── README.md ← Este archivo ├── package.json ← Dependencias npm ├── diagramas/ │ ├── clases.puml ← PlantUML (Clases) │ ├── arquitectura.md ← Mermaid (Arquitectura) │ ├── secuencia.md ← Mermaid (Secuencia) │ ├── despliegue.md ← Mermaid (Despliegue) │ └── output/ ← Imágenes generadas │ ├── clases.png │ ├── arquitectura.png │ ├── secuencia.png │ └── despliegue.png └── scripts/ └── generar_diagramas.sh ← Script de automatización ```
```bash
PLANTUML_JAR_PATH=/usr/share/plantuml/plantuml.jar MERMAID_CONFIG_PATH=./mermaid.config.json OUTPUT_DIR=./diagramas/output ```
```json { "theme": "default", "themeVariables": { "primaryColor": "#3498db", "primaryTextColor": "#2c3e50", "primaryBorderColor": "#2980b9", "lineColor": "#34495e" }, "flowchart": { "useMaxWidth": true, "htmlLabels": true } } ```
```bash
java -version
sudo apt install plantuml
brew install plantuml ```
```bash
npm uninstall -g @mermaid-js/mermaid-cli npm install -g @mermaid-js/mermaid-cli
mmdc --version ```
```bash
chmod +x scripts/generar_diagramas.sh ```
```bash
./scripts/generar_diagramas.sh --verbose
tail -f /tmp/generar_diagramas.log ```
- Darwin Colmenares - Backend & API
- Yannis Iturriago - Frontend & UI/UX
- GianneFran Radomile - Base de Datos & DevOps
- Documentación PlantUML: https://plantuml.com/
- Documentación Mermaid: https://mermaid-js.github.io/mermaid/
- Django REST Framework: https://www.django-rest-framework.org/
- React Documentation: https://reactjs.org/docs/
- ✅ Diagrama de clases completo
- ✅ Diagrama de arquitectura
- ✅ Diagrama de secuencia
- ✅ Diagrama de despliegue
- ✅ Scripts de automatización
- ✅ Documentación completa
- 🔄 Diagrama de casos de uso
- 🔄 Diagrama de estados
- 🔄 Documentación de API
- 🔄 Guías de desarrollo
© 2024 - Proyecto Universitario UNETI - Sistema de Gestión de Combustible CANTV Lara