- Remove IfcWallStandardCase from parser (covered by IfcWall as parent type)
- Add seen_global_ids set to prevent duplicate element insertion
- Use scalars().first() instead of scalar_one_or_none() for resilient lookup
- Re-parse required: clears and rebuilds element data without duplicates
- Create tables on application startup via lifespan event
- Flush project before creating elements (generate project_id)
- Flush each element before creating properties (generate element_id)
- Add IfcWallStandardCase to parsed element types
- Include FZK-Haus sample IFC file for testing
- Tested: 58 elements, 3601 properties parsed successfully
- FastAPI with async SQLAlchemy models for IFC elements
- IFC file upload and parsing via IfcOpenShell
- REST API for projects, elements, and properties
- Vue.js 3 frontend shell with Three.js dependency
- Docker Compose for full-stack local development
- PostgreSQL 16 as database
- CI pipeline for Forgejo Actions
- Project documentation and API overview