This is a cross-platform desktop application for visualizing output data of the Tulipa Energy Model, stored in a .duckdb
file. Users can simply upload a file, and the app automatically runs SQL queries and renders the results as interactive visualizations (bar charts, line charts, etc.).
It is built using:
- Rust (Tauri backend) – Handles file access, SQL execution, and secure communication with the frontend.
- React + TypeScript – Provides a responsive and modern user interface.
- Apache ECharts – Powers the data visualizations.
Developed for the CSE2000 course, 2025, TU Delft, by:
We recommend using Visual Studio Code with the following extensions:
- Tauri Extension — for debugging and building Tauri apps
- Rust Analyzer — for Rust language support
Before running or building the project, ensure the following are installed:
- Node.js (LTS version) – https://nodejs.org/
- Rust – https://www.rust-lang.org/tools/install
Generally, the commands are meant to be run using git bash
.
- Install JavaScript Dependecies
npm install
- Start the development server
npm run tauri dev
This will:
-
Launch the React + TypeScript frontend
-
Start the Rust backend via Tauri
-
Open the application in a native window with hot reload support
- Create a production-ready build of the application
npm run tauri build
Please refer to the User guide
npm run dev
- Start the Vite development servernpm run tauri dev
- Start the Tauri development server (frontend + backend)npm run build
- Build the frontendnpm run preview
- Preview the built frontendnpm run tauri build
- Build the Tauri application for distribution
npm test
- Run all tests oncenpm run test:watch
- Run tests in watch mode (automatically reruns on changes)npm run test:coverage
- Run tests with coverage reporting
npm run format
- Format code using Prettiernpm run clean
- Delete all untracked files, to be used for fresh buildsnpm run analyze:setup
- Prepare local configuration for code analysis scriptnpm run analyze
- Run code analysis scriptgit pull lfs
- updates files like the.json
map which are stored usinggit LFS
See Developer guide
This project is licensed under the Apache License 2.0 - see the LICENSE.txt file for details.