Woningdossier
Entity-Attribute-Value (EAV) database for building characteristics and backend for a data collection app.
The goal of this project was to create a database for building characteristics related to energy savings measures, which had to serve as a backend for a custom data collection app. A major challenge was the requirement that the app would be question-answer style, with both questions and possible answers (including photos) flexible, meaning that the data structure was not fixed over time. The many similarities with a clinical database led to an EAV design, in which each field is linked to an ontology. The ontology was designed in collaboration with structural engineers to reflect the construction of a building. Because of the flexibility of the ontology it was possible to meet the ever changing requirements from the customer, without complex database migrations. The data was used to generate quotations for energy measures (energiemaatregelen) such as cavity wall insulation (spouwmuurisolatie).
My Contribution
- Architecture
- Development of generic EAV database system
- Ontology design with Django forms
- REST API design in collaboration with frontend developers
- Image upload and storage in AWS S3
- XML export
Highlights
- Custom android tablet app for data collection
- XML export of data and schema to maintain compatibility with other technologies
- PDF export for home owners and installation companies
- Photo storage via direct upload to AWS S3 from tablet
- Development of ontology and question/answers outside the app development team
Users
- team of 3 structural engineers to design and maintain the database ontology
- team of 5 field workers to collect data in customer homes with the tablet app
- team of 10 help desk employees
- indirectly used by ~150 installation companies via connected apps
Technology Stack
Python
Django
Heroku
AWS
S3
DB
Angular
PhoneGap