1.
Architecture
❱
1.1.
Goals
1.2.
Constraints
1.3.
Context & Scope
1.4.
Solution Strategy
1.5.
Building Block View
1.6.
Runtime View
1.7.
Deployment
1.8.
Crosscutting Concepts
1.9.
Architecture Decisions
1.10.
Quality
1.11.
Risks and Technical Debt
1.12.
Glossary
2.
Authors
3.
PermaplanT Backend
❱
3.1.
Setup
3.2.
How to obtain access tokens?
3.3.
API documentation
3.4.
HTTP Headers
3.5.
Cronjobs
3.6.
Performance Benchmarks
3.7.
06updating_schema_patch
3.8.
Steps to add a Field to Entities
3.9.
08import_sql_files
3.10.
Troubleshooting
4.
CI/CD Pipeline
5.
Contributing to PermaplanT
❱
5.1.
Adding Steps to the Guided Tour
5.2.
Contributing to Backend
5.3.
Contributing to Frontend
5.4.
GitLab CLI Configuration
5.5.
Labels
5.6.
Gem
5.7.
Useful Command-line Tools
5.8.
Regular Weekly Tasks for Weekly Meeting
6.
Database
❱
6.1.
Application Settings
6.2.
Cronjobs
6.3.
Hierarchy
6.4.
Importing Database dumps
6.5.
Recovering Deleted Maps or Layers
6.6.
Schemata
❱
6.6.1.
ER diagram
6.6.2.
Enum Types
6.6.3.
Table descriptions
7.
Decision Process
❱
7.1.
EXPLANATIONS
7.2.
TEMPLATE
7.3.
Canvas Dependency Resolution
7.4.
Decided
❱
7.4.1.
Frontend Timeline Date Picker
7.5.
Drafts
❱
7.5.1.
Frontend Hull Library
7.5.2.
Frontend API Mocking Tool
7.5.3.
Uuid
7.6.
Implemented
❱
7.6.1.
Authentication & Authorization
7.6.2.
Use of JSON/JSONB in the Database
7.6.3.
Backend API documentation
7.6.4.
Backend ORM/SQL Crate
7.6.5.
Backend Programming Language
7.6.6.
Backend Web Framework
7.6.7.
Backend Testing Strategy
7.6.8.
Backend Web Framework
7.6.9.
CI/CD
7.6.10.
Database
7.6.11.
Database Plant Hierarchy
7.6.12.
Drawing Library
7.6.13.
Frontend Architecture Pattern
7.6.14.
Frontend Build Tool
7.6.15.
Collect changes to guided tour
7.6.16.
Frontend Documentation
7.6.17.
E2E Testing
7.6.18.
Frontend Keyhandling
7.6.19.
Frontend Lazyloading
7.6.20.
Frontend Offloading
7.6.21.
Frontend Programming Language
7.6.22.
Frontend State Management
7.6.23.
Timeline: Custom Date Picker Implementation Decision
7.6.24.
Frontend UI Framework
7.6.25.
Map Undo/Redo Implementation
7.6.26.
Nextcloud Deployment
7.6.27.
Decide Polygon Overlap Handling Strategy
7.6.28.
Reversible deletion of database entities
7.6.29.
Search Plants
7.6.30.
Sync
7.7.
OpenTelemetry Integration / Observability Backend
7.8.
Postponed
7.9.
Problem Clear
❱
7.9.1.
Decision: Handling of Default Base Layer Images for New Nextcloud Users
7.9.2.
Polygon Calculations
7.10.
Rejected
❱
7.10.1.
Mail Client for the Backend
7.11.
Solutions clear
❱
7.11.1.
Frontend Editor
8.
Development Setup
❱
8.1.
Docker + local
8.2.
Devcontainer
8.3.
Reset guided tours
9.
development_setup
10.
Guidelines
❱
10.1.
REST
10.2.
Backend Logging
10.3.
Tutorial for synchronized APIs in the Map Editor
10.4.
Backend
10.5.
Code Comments
10.6.
Code Review
10.7.
Code
10.8.
Database
10.9.
Documentation
10.10.
e2e
10.11.
Files
10.12.
Frontend API Calls
10.13.
Frontend Component Responsiveness
10.14.
Creating a New Layer in Frontend
10.15.
Frontend Map Default View
10.16.
Frontend General Responsiveness
10.17.
Frontend Keybindings
10.18.
Frontend Locators
10.19.
Frontend React
10.20.
Structuring of Actions in the Store
10.21.
Using and extending the Stored Map Information in the Frontend
10.22.
Frontend UI & Usability
10.23.
Frontend
10.24.
Frontend Error Handling
10.25.
i18n
10.26.
Issue Refinement Guidelines
10.27.
Issue Reporting Guidelines
10.28.
Issue Triage Guidelines
10.29.
Iteration Planning Guidelines
10.30.
Manual Testing Guidelines
10.31.
Manual Testing Guidelines
10.32.
Review Guidelines
10.33.
Security
10.34.
Tools Guidelines
10.35.
Upgrading to newer software releases
10.36.
Versioning
11.
Meetings
❱
11.1.
README
❱
11.1.1.
Meeting 2023-03-07
11.1.2.
Meeting 2023-03-14
11.1.3.
Meeting 2023-03-15 Gamification
11.1.4.
Meeting 2023-03-15 Polyculture Algorithm
11.1.5.
Meeting 2023-03-20 DB Kick-Off
11.1.6.
Meeting 2023-03-21
11.1.7.
Meeting 2023-03-23 Backend Kick-Off
11.1.8.
Meeting 2023-03-28
11.1.9.
Meeting 2023-03-30 - Polyculture
11.1.10.
Meeting 2023-03-31
11.1.11.
Meeting 2023-04-04
11.1.12.
Meeting 2023-04-07 DB
11.1.13.
Meeting 2023-04-07 Frontend
11.1.14.
Meeting 2023-04-11
11.1.15.
Meeting 2023-04-18
11.1.16.
Meeting 2023-04-25
11.1.17.
Meeting 2023-04-27 DB
11.1.18.
Meeting 2023-05-02
11.1.19.
Meeting 2023-05-09
11.1.20.
Meeting 2023-05-16
11.1.21.
Meeting 2023-05-23
11.1.22.
Meeting 2023-05-26 Architecture
11.1.23.
Meeting 2023-05-30
11.1.24.
Meeting 2023-06-06
11.1.25.
Meeting 2023-06-13
11.1.26.
Meeting 2023-06-20
11.1.27.
Meeting 2023-06-27
11.1.28.
Meeting 2023-07-04
11.1.29.
Meeting 2023-07-11
11.1.30.
Meeting 2023-07-18
11.1.31.
Meeting 2023-07-25
11.1.32.
Meeting 2023-07-31
11.1.33.
Meeting 2023-08-08
11.1.34.
Meeting 2023-08-15
11.1.35.
Meeting 2023-08-22
11.1.36.
Meeting 2023-08-28
11.1.37.
Meeting 2023-09-04
11.1.38.
Meeting 2023-09-11
11.1.39.
Meeting 2023-09-18
11.1.40.
Meeting 2023-09-25
11.1.41.
Meeting 2023-10-02
11.1.42.
Meeting 2023-10-09
11.1.43.
Meeting 2023-10-16
11.1.44.
Meeting 2023-10-23
11.1.45.
Meeting 2023-10-30
11.1.46.
Meeting 2023-11-06
11.1.47.
Meeting 2023-11-13
11.1.48.
Meeting 2023-11-20
11.1.49.
Meeting 2023-11-27
11.1.50.
Meeting 2023-12-04
11.1.51.
Meeting 2023-12-11
11.1.52.
Meeting 2023-12-18
11.1.53.
Meeting 2023-12-27
11.2.
README
❱
11.2.1.
Meeting 2024-01-02
11.2.2.
Meeting 2024-01-08
11.2.3.
Meeting 2024-01-15
11.2.4.
Meeting 2024-01-22
11.2.5.
Meeting 2024-01-29
11.2.6.
Meeting 2024-02-05
11.2.7.
Meeting 2024-02-12
11.2.8.
Meeting 2024-02-19
11.2.9.
Meeting 2024-03-11
11.2.10.
Meeting 25.03.2024
11.2.11.
Meeting 02.04.2024
11.2.12.
Meeting 04.04.2024 - Scrum Processes
11.2.13.
Meeting 08.04.2024
11.2.14.
Meeting 15.04.2024
11.2.15.
Meeting 22.04.2024
11.2.16.
Meeting 06.05.2024
11.2.17.
Meeting 13.05.2024
11.2.18.
Meeting 20.05.2024
11.2.19.
Meeting 27.05.2024
11.2.20.
Meeting 03.06.2024
11.2.21.
Meeting 10.06.2024
11.2.22.
Meeting 17.06.2024
11.2.23.
Meeting 24.06.2024
11.2.24.
Meeting 27.06.2024 - Heatmap
11.2.25.
Meeting 15.07.2024
11.2.26.
Meeting 22.07.2024
11.2.27.
Meeting 29.07.2024
11.2.28.
Meeting 05.08.2024
11.2.29.
Meeting 12.08.2024
11.2.30.
Meeting 19.08.2024
11.2.31.
Meeting 26.08.2024
11.2.32.
Meeting 09.09.2024
11.2.33.
Meeting 16.09.2024
11.2.34.
Meeting 23.09.2024
11.2.35.
Meeting 30.09.2024
11.2.36.
Meeting 07.10.2024
11.2.37.
Meeting 14.10.2024
11.2.38.
Meeting 21.10.2024
11.2.39.
Meeting 28.10.2024
11.2.40.
Meeting 04.11.2024
11.2.41.
Meeting 11.11.2024
11.2.42.
Meeting 23.11.2024
11.2.43.
Meeting 02.12.2024
11.2.44.
Meeting 09.12.2024
11.2.45.
Meeting 16.12.2024
11.3.
README
❱
11.3.1.
Meeting 13.1.2025
11.3.2.
Meeting 20.1.2025
11.3.3.
Meeting 27.1.2025
11.3.4.
Meeting 03.02.2025
11.3.5.
Meeting 10.02.2025
11.3.6.
Meeting 17.02.2025
11.3.7.
Meeting 24.02.2025
11.3.8.
Meeting 03.03.2025
11.3.9.
Meeting 10.03.2025
11.3.10.
Meeting 17.03.2025
11.3.11.
Meeting 24.03.2025
11.3.12.
Meeting 31.03.2025
11.3.13.
Meeting 07.04.2025
11.3.14.
Meeting 14.04.2025
11.3.15.
Meeting 21.04.2025
11.3.16.
Meeting 28.04.2025
11.3.17.
Meeting 05.05.2025
11.3.18.
Meeting 12.05.2025
11.3.19.
Meeting 19.05.2025
11.3.20.
Meeting 26.05.2025
11.3.21.
Meeting 02.06.2025
11.3.22.
Meeting 09.06.2025
11.3.23.
Meeting 16.06.2025
11.3.24.
Meeting 23.06.2025
11.3.25.
Optional Meeting 30.06.2025
11.3.26.
Meeting 07.07.2025
11.3.27.
Meeting 14.07.2025
11.3.28.
Biology Meeting 16.07.2025
11.3.29.
Meeting 21.07.2025
11.3.30.
Meeting 28.07.2025
11.3.31.
Meeting 04.08.2025
11.3.32.
2025_08_06_PM
11.3.33.
Meeting 11.08.2025
11.3.34.
Meeting 18.08.2025
11.3.35.
Meeting 25.08.2025
11.3.36.
Meeting 01.09.2025
11.3.37.
Meeting 08.09.2025
11.3.38.
Meeting 15.09.2025
11.3.39.
Meeting 22.09.2025
11.3.40.
Meeting 25.09.2025
11.3.41.
Meeting 29.09.2025
11.3.42.
Meeting 06.10.2025
11.3.43.
Meeting 13.10.2025
11.3.44.
Meeting 20.10.2025
11.3.45.
PM Meeting 24.10.2025 11:30
11.3.46.
Meeting 27.10.2025
11.3.47.
2025_10_31_PM
11.3.48.
Meeting 03.11.2025
11.3.49.
2025_11_07_PM
11.3.50.
Meeting 10.11.2025
11.3.51.
2025_11_14_PM
11.3.52.
Meeting 17.11.2025
11.3.53.
2025_11_21_PM
11.3.54.
Meeting 24.11.2025
11.3.55.
2025_11_28_PM
11.3.56.
Meeting 01.12.2025
11.3.57.
2025_12_05_PM
11.3.58.
Meeting 08.12.2025
11.3.59.
Meeting 15.12.2025
11.3.60.
Meeting 22.12.2025
11.3.61.
Meeting 29.12.2025
11.4.
Meeting 05.01.2026
11.5.
Meeting 12.01.2026
11.6.
Meeting 19.01.2026
11.7.
Meeting 26.01.2026
11.8.
Meeting 02.02.2026
11.9.
Meeting 09.02.2026
11.10.
Meeting 16.02.2026
11.11.
Meeting 23.02.2026
11.12.
Meeting 02.03.2026
12.
Mockups
13.
OpenTelemetry
❱
13.1.
otel_frontend
13.2.
Signoz
14.
Releases
❱
14.1.
Changelog
14.2.
Release Notes
❱
14.2.1.
0.7.0 Summer
14.2.2.
0.8.0
14.2.3.
0.9.0
14.2.4.
1.0.0 "Solid Foundation"
14.2.5.
1.0.1
14.3.
Releases
14.4.
Changelog
15.
Research
❱
15.1.
Guided Tour Overview
15.2.
Keycloak Basics
15.3.
Map Performance
15.4.
Mautic Integration
15.5.
Nextcloud Integration
15.6.
OpenTelemetry
15.7.
Privacy
❱
15.7.1.
PermaplanT Technical Data Processing Documentation
15.8.
Typeshare
16.
Testing Strategy
❱
16.1.
Backend Testing
16.2.
Frontend testing
16.3.
Manual Tests
❱
16.3.1.
Test Reports
❱
16.3.1.1.
README
❱
16.3.1.1.1.
Heatmap with Shade
16.3.1.1.2.
Manual Test Report (pre v0.3 case study release)
16.3.1.1.3.
Manual Test Report (v0.3 case study release)
16.3.1.1.4.
Manual Test Report (v0.3.1)
16.3.1.1.5.
Manual Test Report (v0.3.2)
16.3.1.1.6.
Manual Test Report (v0.3.3)
16.3.1.1.7.
Manual Test Report (v0.3.4)
16.3.1.1.8.
Manual Test Report (v0.3.5)
16.3.1.1.9.
Manual Test Report (v0.3.6)
16.3.1.2.
README
❱
16.3.1.2.1.
Manual Test Report (v0.4.0)
16.3.1.2.2.
Manual Test Report (v0.4.1)
16.3.1.2.3.
240801
16.3.1.2.4.
240801_dev
16.3.1.2.5.
240802_seeds
16.3.1.2.6.
241023
16.3.1.2.7.
241104
16.3.1.3.
250407
16.3.1.4.
250512
16.3.1.5.
250717
16.3.1.6.
250718
16.3.1.7.
250902
16.3.1.8.
251205
16.3.1.9.
251223
16.3.1.10.
template
16.3.2.
Test Cases
❱
16.3.2.1.
Guided Tour
16.3.2.2.
additional_layer
16.3.2.3.
Area of Plantings
16.3.2.4.
Base Layer
16.3.2.5.
Copy & Paste
16.3.2.6.
crop_rotation
16.3.2.7.
Drawing Layer
16.3.2.8.
Entry and List Seeds
16.3.2.9.
Grid
16.3.2.10.
Heatmap
16.3.2.11.
Hierarchy Test Cases
16.3.2.12.
hydrology_layer
16.3.2.13.
Inventory
16.3.2.14.
landing_page
16.3.2.15.
Layer Management
16.3.2.16.
Layer Visibility
16.3.2.17.
Login
16.3.2.18.
manage_additional_layers
16.3.2.19.
Map Creation
16.3.2.20.
Map Deletion
16.3.2.21.
Map Search
16.3.2.22.
Map Timeline
16.3.2.23.
map_timeline_event_view
16.3.2.24.
map_timeline_single_selection
16.3.2.25.
Map Toolbar
16.3.2.26.
Map Undo Redo
16.3.2.27.
Measuring Distances
16.3.2.28.
Multi Select
16.3.2.29.
Plant Layer
16.3.2.30.
Read Only
16.3.2.31.
Remembering View State of the map
16.3.2.32.
rename_layers
16.3.2.33.
Search Plants
16.3.2.34.
Shade Layer
16.3.2.35.
soil_texture_layer
16.3.2.36.
Translation
16.3.2.37.
zoom
16.4.
MODE
16.5.
Smoke Tests
❱
16.5.1.
Smoke Test Reports
❱
16.5.1.1.
Smoke Test Report
16.5.2.
Smoke Test Testcases
❱
16.5.2.1.
Smoke Test Report
16.6.
Testusers
17.
Usecases
❱
17.1.
Assigned Use Cases
❱
17.1.1.
Use Case: Map Editor Navigation Mobile Usability
17.1.2.
Use Case: Map Editor Timeline Mobile Usability
17.1.3.
Use Case: Map Editor Toolbar Mobile Usability
17.1.4.
Use Case: Nextcloud Circles
17.1.5.
Use Case: Plant attributes
17.1.6.
Use Case: Display and Manage Plant Markers
17.1.7.
Use Case: Plant search icons
17.1.8.
Use Case: Zones Layer
17.2.
Current Use Cases
❱
17.2.1.
Use Case: General Mobile Usability
17.2.2.
Use Case: Highlight Searched Plants
17.2.3.
Use Case: Map Collaboration
17.2.4.
Use Case: Remember Viewing State
17.2.5.
Use Case: Visitor chat
17.3.
Done Use Cases
❱
17.3.1.
Use Case: Access Control
17.3.2.
Use Case: Additional Layer
17.3.3.
Use Case: Area of Plantings
17.3.4.
Use Case: Base Layer
17.3.5.
Use Case: Copy & Paste Between Own Maps
17.3.6.
Use Case: Copy & Paste Between Users
17.3.7.
Use Case: Copy & Paste Via Icons
17.3.8.
Use Case: Copy & Paste Within the Same Map
17.3.9.
Use Case: Crop Rotation
17.3.10.
Use Case: Entry and List of Seeds
17.3.11.
Use Case: Grid
17.3.12.
Use Case: Guided Tour
17.3.13.
Use Case: Heatmap
17.3.14.
Use Case: Hydrology Layer
17.3.15.
Use Case: Landing Page
17.3.16.
Use Case: Layer Visibility
17.3.17.
Use Case: Login
17.3.18.
Use Case: Manage Additional Layers
17.3.19.
Use Case: Map Creation
17.3.20.
Use Case: Map Deletion
17.3.21.
Use Case: Map Search
17.3.22.
Use Case: Map Timeline Event View
17.3.23.
Use Case: Map Timeline Single Selection
17.3.24.
Use Case: Map Undo/Redo
17.3.25.
Use Case: Measuring Distance
17.3.26.
Use Case: Multi-Select
17.3.27.
Use Case: Plants Layer
17.3.28.
Use Case: Rename Layers
17.3.29.
Use Case: Search Plants
17.3.30.
Use Case: Shade Layer
17.3.31.
Use Case: Soil Layer
17.3.32.
Use Case: Translation
17.3.33.
Use Case: Zoom
17.4.
Draft Use Cases
❱
17.4.1.
Use Case: Add Plant Relationships
17.4.2.
Use Case: All Layer
17.4.3.
Use Case: Brushing
17.4.4.
Use Case: Buy Seeds
17.4.5.
Use Case: Contributing Member
17.4.6.
Use Case: Diff
17.4.7.
Use Case: Dimensioning Layer
17.4.8.
Use Case: Diversity Score
17.4.9.
Use Case: Event Notification
17.4.10.
Use Case: Experimental Results
17.4.11.
Use Case: Gain Blossoms
17.4.12.
Use Case: Habitats Layer
17.4.13.
Use Case: Import and Export Maps
17.4.14.
Use Case: Ingredient Lists
17.4.15.
Use Case: Landing Page News
17.4.16.
Use Case: Layer Alternatives
17.4.17.
Use Case: Map Honors
17.4.18.
Use Case: Map-Specific Favorite Groups
17.4.19.
Use Case: Map Statistics
17.4.20.
Use Case: Matchmaking
17.4.21.
Use Case: Membership Application
17.4.22.
Use Case: New Plant
17.4.23.
Use Case: Offline
17.4.24.
Use Case: Paths Layer
17.4.25.
Use Case: Persistent Multi Selection
17.4.26.
Use Case: Plant Database Update Notification
17.4.27.
Use Case: Plant Lore
17.4.28.
Use Case: Review Plant
17.4.29.
Use Case: Review Plant Relationships
17.4.30.
Use Case: Reward Preview
17.4.31.
Use Case: Select all plants of same type
17.4.32.
Use Case: Terrain Layer
17.4.33.
Use Case: Trees Layer
17.4.34.
Use Case: Winds Layer
17.5.
Later Use Cases
❱
17.5.1.
Use Case: Calendar
17.5.2.
Use Case: Fertilization Layer
17.5.3.
Use Case: GeoMap
17.5.4.
Use Case: Incomplete Groups
17.5.5.
Use Case: Infrastructure Layer
17.5.6.
Use Case: Landscape Layer
17.5.7.
Use Case: Map Timeline Range Selection
17.5.8.
Use Case: Map to PDF
17.5.9.
Use Case: New Member Notification
17.5.10.
Use Case: Plant List
17.5.11.
Use Case: Relation Layer
17.5.12.
Use Case: Suggest Plants
17.5.13.
Use Case: Todo Layer
17.5.14.
Use Case: Watering Layer
17.6.
Use Case: <Title (except of spaces and Title capitalization same as file name)>
18.
Workflows
❱
18.1.
Issue Creation Workflow
18.2.
Issue Triage Workflow
18.3.
Issue Refinement Workflow
18.4.
Workflow Name
18.5.
Decisions
18.6.
Guided Tour Updates Workflow
18.7.
Iteration Planning Workflow
18.8.
Manual Testing
18.9.
Meetings Workflow
18.10.
Release Workflow
18.11.
Review Workflow
18.12.
Roles
18.13.
Tools Workflow
18.14.
Workflows
Light
Rust
Coal
Navy
Ayu
PermaplanT
Privacy
This folder contains research documents regarding privacy.