plano3d/docs/propuesta-lizette
Lizette a43635ac37 Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00
..
01-requisitos-backend.md Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00
02-tecnologias-backend.md Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00
03-arquitectura-backend.md Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00
04-prueba-pieza-plana.md Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00
README.md Añade la propuesta del backend con servidor, cuentas y Docker 2026-11-06 19:01:20 +01:00

README.md

Propuesta de Lizette: backend (servidor y motor)

Documentación de la parte del backend: el servidor (API REST, cuentas, historial y base de datos) y el motor de procesado que convierte el plano en pieza 3D.

Documento Contenido
01-requisitos-backend.md Requisitos funcionales y no funcionales del backend
02-tecnologias-backend.md Tecnologías elegidas y por qué
03-arquitectura-backend.md Componentes, API, modelo de datos, estructura del código y Docker
04-prueba-pieza-plana.md Prueba técnica del plan B (pieza plana por extrusión)

Planteamiento

Parte Responsable Qué hace
Frontend (app/) Joel Aplicación de escritorio: interfaz, visor 3D, inicio de sesión. Habla con el servidor por la API REST.
Servidor (servidor/) Lizette API REST con FastAPI: cuentas, proyectos, historial de conversiones, archivos.
Motor (motor/) Lizette Reconstrucción de la pieza desde las tres vistas, verificación del plano y exportación STEP/STL.
Base de datos Lizette MySQL: usuarios, proyectos, conversiones, avisos y archivos.
Pruebas Los dos pytest dentro de Docker, contra un MySQL de pruebas.

Cambios que hay que reflejar en el resto del repositorio

Este planteamiento cambia decisiones que ahora mismo están escritas de otra forma en el repositorio. Hay que acordarlas con Joel y actualizarlas en un pull request propio, según CONTRIBUTING.md:

Dónde Dice ahora Debe decir
docs/decisiones.md (14-10) «Aplicación de escritorio, no web»; sin servidor Aplicación de escritorio con servidor: el frontend se conecta a una API REST que guarda cuentas e historial
docs/decisiones.md (22-10) Joel: aplicación; compañera: motor Joel: frontend; Lizette: backend (servidor, base de datos y motor)
docs/guia-tecnica.md «No hay servidor ni cuentas»; historial en SQLite Servidor FastAPI con cuentas (JWT) e historial en MySQL; Docker para pruebas y despliegue
README.md Tabla de carpetas sin servidor/ Añadir servidor/ y el arranque con docker compose
motor/api.py Contrato entre motor y aplicación Contrato entre motor y servidor. El contrato del frontend pasa a ser la API REST (OpenAPI en /docs)
pyproject.toml PySide6 entre las dependencias comunes PySide6 en un grupo app, para que la imagen Docker del servidor no lo instale

Se mantiene lo que ya estaba decidido sobre el producto: piezas mecánicas, reconstrucción desde tres vistas con verificación del plano, plan B de pieza plana, y avisar siempre de lo que no se soporta.