Read and search Materials from the EC3 API in a GUI
The app consists of a a main App written in Rust with Egui and a library called EC3 API that handles querying the EC3API.
To use the app you must have your own ec3 account, create a token and set it into the environment with the key API_KEY
.
For example:
# .env in the root folder
API_KEY="..."
The app implements its own 'Material Filter' serializer to query from the EC3 API.
Sample request:
{"pragma":[{"name":"eMF","args":["2.0/1"]},{"name":"lcia","args":["EF 3.0"]}],"category":"Concrete","filter":[{"field":"jurisdiction","op":"in","arg":["150"]},{"field":"epd_types","op":"in","arg":["Product EPDs","Industry EPDs"]}]}
Sample response:
'!EC3 search("Concrete") WHERE \n jurisdiction: IN("150") AND\n epd_types: IN("Product EPDs", "Industry EPDs") \n!pragma eMF("2.0/1"), lcia("EF 3.0")'
- Hot reloading. Implemented following the example of rust-hot-reloading
- Visualization of the GWP per element and per category.
- Indexing and searching per keyword. Basically make it possible to find a related material with some keywords.
- Loading materials via API without blocking UI.
- Searching new materials via API.
- Add the material id from the api, to avoid clashes between materials
- Add a list of categories to make searching easier
- Add a graph of material categories to visualize
- Visualize GWP averages per category on graph view
- Store and load materials from a local sqlite db
- Implement a basic quantities input specification
- Implement advanced quantities reading from remote project (Speckle or APS)
- Make material selectable on Chart view and display details