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.
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.