Development Setup
Prerequisites
If you want to develop on the backend, make sure you have enough RAM. When performing cargo build, we have experienced a usage of ~12GB.
Operating Systems
- Ubuntu or another Ubuntu/Debian-based Linux system
- Ubuntu in WSL on Windows
Ways to develop PermaplanT
Right now we have two different ways to develop PermaplanT:
Docker services + local development
Run the database and other services like adminer in Docker containers but run backend and frontend locally. Read more
Dev container
Run everything within the VSCode devcontainer. Read more .devcontainer/README.md
Data
To fill the database with scraper data, please clone the scraper repository to scraper/data
using your preferred protocol (SSH or HTTPS), e.g.:
# SSH
git clone ssh://git@gitlab.tuwien.ac.at:822/permaplant/scraper-data.git scraper/data
IDE
- Visual Studio Code for both Frontend and Backend
- IntelliJ IDEA for both Frontend and Backend
Visual Studio Code Extensions
Frontend
- Prettier ESLint for JavaScript/TypeScript linting and code formatting
Backend
Rust formatting can be achieved by adding the following to settings.json in VSCode after installing rust-analyzer:
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true
}
Browsers
- Chrome/Chromium 128.0.6613.137 or later
- Firefox 115.15.0esr (Extended Support Release) or late
Dependencies
If you want to install all necessary dependencies for development run the following command in project's root directory:
make install