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
4.
Changelog
5.
CI/CD Pipeline
6.
Contributing to PermaplanT
❱
6.1.
Contributing to Backend
6.2.
Contributing to Frontend
7.
Database
❱
7.1.
Application settings
7.2.
Cronjobs
7.3.
Hierarchy
7.4.
Recovering Deleted Maps or Layers
7.5.
Schemata
❱
7.5.1.
ER diagram
7.5.2.
Enum Types
7.5.3.
Table descriptions
8.
Decision Process
❱
8.1.
EXPLANATIONS
8.2.
TEMPLATE
8.3.
Authentication & Authorization
8.4.
Backend API documentation
8.5.
Mail Client for the Backend
8.6.
Backend ORM/SQL Crate
8.7.
Backend Programming Language
8.8.
Backend Web Framework
8.9.
Backend Testing Strategy
8.10.
Backend Web Framework
8.11.
CI/CD
8.12.
Database
8.13.
Database Plant Hierarchy
8.14.
Drawing Library
8.15.
Example Migrations
❱
8.15.1.
Normalized Plants and Ranks
❱
8.15.1.1.
2023-04-07-130215 Plant Relastionships
❱
8.15.1.1.1.
down.sql
8.15.1.1.2.
up.sql
8.15.1.2.
example_queries.sql
8.15.2.
One Table Per Taxonomy
❱
8.15.2.1.
2023-03-09-194135 Plant Relations
❱
8.15.2.1.1.
down.sql
8.15.2.1.2.
up.sql
8.15.3.
Taxonomy Ranks And Concrete Plants
❱
8.15.3.1.
2023-04-04-220813 Taxons
❱
8.15.3.1.1.
down.sql
8.15.3.1.2.
up.sql
8.15.3.2.
2023-04-04-220921 Plant Relationships
❱
8.15.3.2.1.
down.sql
8.15.3.2.2.
up.sql
8.15.3.3.
2023-04-07-112305 Varieties
❱
8.15.3.3.1.
down.sql
8.15.3.3.2.
up.sql
8.15.3.4.
example_queries.sql
8.16.
Frontend Architecture Pattern
8.17.
Frontend Build Tool
8.18.
Frontend Documentation
8.19.
E2E Testing
8.20.
Frontend Keyhandling
8.21.
Frontend Lazyloading
8.22.
Frontend API Mocking Tool
8.23.
Frontend Offloading
8.24.
Polygon Libraries
8.25.
Frontend Programming Language
8.26.
Frontend State Management
8.27.
Timeline: Custom Date Picker Implementation Decision
8.28.
Frontend UI Framework
8.29.
Map Undo/Redo Implementation
8.30.
Reversible deletion of database entities
8.31.
Search Plants
8.32.
Sync
8.33.
Uuid
9.
Development Setup
❱
9.1.
Docker + local
9.2.
Devcontainer
10.
development_setup
11.
Guidelines
❱
11.1.
REST
11.2.
Backend Logging
11.3.
Tutorial for synchronized APIs in the Map Editor
11.4.
Backend
11.5.
Code
11.6.
Database
11.7.
Documentation
11.8.
e2e
11.9.
Frontend API Calls
11.10.
Creating a New Layer in Frontend
11.11.
Frontend Keybindings
11.12.
Frontend Locators
11.13.
Frontend UI & Usability
11.14.
Frontend
11.15.
i18n
11.16.
Security
11.17.
Upgrading to newer software releases
11.18.
Versioning
12.
Meetings
❱
12.1.
Meeting 2023-03-07
12.2.
Meeting 2023-03-14
12.3.
Meeting 2023-03-15 Gamification
12.4.
Meeting 2023-03-15 Polyculture Algorithm
12.5.
Meeting 2023-03-20 DB Kick-Off
12.6.
Meeting 2023-03-21
12.7.
Meeting 2023-03-23 Backend Kick-Off
12.8.
Meeting 2023-03-28
12.9.
Meeting 2023-03-30 - Polyculture
12.10.
Meeting 2023-03-31
12.11.
Meeting 2023-04-04
12.12.
Meeting 2023-04-07 DB
12.13.
Meeting 2023-04-07 Frontend
12.14.
Meeting 2023-04-11
12.15.
Meeting 2023-04-18
12.16.
Meeting 2023-04-25
12.17.
Meeting 2023-04-27 DB
12.18.
Meeting 2023-05-02
12.19.
Meeting 2023-05-09
12.20.
Meeting 2023-05-16
12.21.
Meeting 2023-05-23
12.22.
Meeting 2023-05-26 Architecture
12.23.
Meeting 2023-05-30
12.24.
Meeting 2023-06-06
12.25.
Meeting 2023-06-13
12.26.
Meeting 2023-06-20
12.27.
Meeting 2023-06-27
12.28.
Meeting 2023-07-04
12.29.
Meeting 2023-07-11
12.30.
Meeting 2023-07-18
12.31.
Meeting 2023-07-25
12.32.
Meeting 2023-07-31
12.33.
Meeting 2023-08-08
12.34.
Meeting 2023-08-15
12.35.
Meeting 2023-08-22
12.36.
Meeting 2023-08-28
12.37.
Meeting 2023-09-04
12.38.
Meeting 2023-09-11
12.39.
Meeting 2023-09-18
12.40.
Meeting 2023-09-25
12.41.
Meeting 2023-10-02
12.42.
Meeting 2023-10-09
12.43.
Meeting 2023-10-16
12.44.
Meeting 2023-10-23
12.45.
Meeting 2023-10-30
12.46.
Meeting 2023-11-06
12.47.
Meeting 2023-11-13
12.48.
Meeting 2023-11-20
12.49.
Meeting 2023-11-27
12.50.
Meeting 2023-12-04
12.51.
Meeting 2023-12-11
12.52.
Meeting 2023-12-18
12.53.
Meeting 2023-12-27
12.54.
Meeting 2024-01-02
12.55.
Meeting 2024-01-08
12.56.
Meeting 2024-01-15
12.57.
Meeting 2024-01-22
12.58.
Meeting 2024-01-29
12.59.
Meeting 2024-02-05
12.60.
Meeting 2024-02-12
12.61.
Meeting 2024-02-19
12.62.
Meeting 2024-03-11
12.63.
Meeting 25.03.2024
12.64.
Meeting 02.04.2024
12.65.
Meeting 04.04.2024 - Scrum Processes
12.66.
Meeting 08.04.2024
12.67.
Meeting 15.04.2024
12.68.
Meeting 22.04.2024
12.69.
Meeting 06.05.2024
12.70.
Meeting 13.05.2024
12.71.
Meeting 20.05.2024
12.72.
Meeting 27.05.2024
12.73.
Meeting 03.06.2024
12.74.
Meeting 10.06.2024
12.75.
Meeting 17.06.2024
12.76.
Meeting 24.06.2024
12.77.
Meeting 27.06.2024 - Heatmap
12.78.
Meeting 15.07.2024
12.79.
Meeting 22.07.2024
12.80.
Meeting 29.07.2024
12.81.
Meeting 05.08.2024
12.82.
Meeting 12.08.2024
12.83.
Meeting 19.08.2024
12.84.
Meeting 26.08.2024
12.85.
Meeting 09.09.2024
12.86.
Meeting 16.09.2024
12.87.
Meeting 23.09.2024
12.88.
Meeting 30.09.2024
12.89.
Meeting 07.10.2024
12.90.
Meeting 14.10.2024
12.91.
Meeting 21.10.2024
12.92.
Meeting 28.10.2024
12.93.
Meeting 04.11.2024
12.94.
Meeting 11.11.2024
12.95.
Meeting 23.11.2024
12.96.
Meeting 02.12.2024
12.97.
Meeting 09.12.2024
13.
Mockups
14.
Release Procedure Documentation
15.
Research
❱
15.1.
Keycloak Basics
15.2.
Nextcloud Integration
16.
Testing Strategy
❱
16.1.
Backend Testing
16.2.
Frontend testing
16.3.
manual
❱
16.3.1.
Report
❱
16.3.1.1.
Heatmap with Shade
16.3.1.2.
Manual Test Report (pre v0.3 case study release)
16.3.1.3.
Manual Test Report (v0.3 case study release)
16.3.1.4.
Manual Test Report (v0.3.1)
16.3.1.5.
Manual Test Report (v0.3.2)
16.3.1.6.
Manual Test Report (v0.3.3)
16.3.1.7.
Manual Test Report (v0.3.4)
16.3.1.8.
Manual Test Report (v0.3.5)
16.3.1.9.
Manual Test Report (v0.3.6)
16.3.1.10.
Manual Test Report (v0.4.0)
16.3.1.11.
Manual Test Report (v0.4.1)
16.3.1.12.
240801
16.3.1.13.
240801_dev
16.3.1.14.
240802_seeds
16.3.1.15.
241023
16.3.1.16.
template
16.3.2.
testcases
❱
16.3.2.1.
Manual Test Protocol general template
16.3.2.2.
Manual Test Protocol heatmap template
16.3.2.3.
Manual Test Protocol layer management template
16.3.2.4.
Manual Test Protocol shade layer template
17.
Usecases
❱
17.1.
Assigned Use Cases
❱
17.1.1.
Use Case: Copy & Paste Between Own Maps
17.1.2.
Use Case: Copy & Paste Between Users
17.1.3.
Use Case: Copy & Paste Via Icons
17.1.4.
Use Case: Copy & Paste Within the Same Map
17.1.5.
Use Case: GeoMap
17.2.
Current Use Cases
❱
17.2.1.
Use Case: Map Collaboration
17.2.2.
Use Case: Remember Viewing State
17.3.
Done Use Cases
❱
17.3.1.
Use Case: Additional Layer
17.3.2.
Use Case: Area of Plantings
17.3.3.
Use Case: Base Layer
17.3.4.
Use Case: Crop Rotation
17.3.5.
Use Case: Entry and List of Seeds
17.3.6.
Use Case: Grid
17.3.7.
Use Case: Guided Tour
17.3.8.
Use Case: Heatmap
17.3.9.
Use Case: Hydrology Layer
17.3.10.
Use Case: Landing Page
17.3.11.
Use Case: Layer Visibility
17.3.12.
Use Case: Login
17.3.13.
Use Case: Manage Additional Layers
17.3.14.
Use Case: Map Creation
17.3.15.
Use Case: Map Deletion
17.3.16.
Use Case: Map Search
17.3.17.
Use Case: Map Timeline Event View
17.3.18.
Use Case: Map Timeline Single Selection
17.3.19.
Use Case: Map Undo/Redo
17.3.20.
Use Case: Measuring Distance
17.3.21.
Use Case: Multi-Select
17.3.22.
Use Case: Plants Layer
17.3.23.
Use Case: Rename Layers
17.3.24.
Use Case: Search Plants
17.3.25.
Use Case: Shade Layer
17.3.26.
Use Case: Soil Layer
17.3.27.
Use Case: Translation
17.3.28.
Use Case: Zoom
17.4.
Draft Use Cases
❱
17.4.1.
Use Case: Add Plant Relationships
17.4.2.
Use Case: Contributing Member
17.4.3.
Use Case: Diff
17.4.4.
Use Case: Dimensioning Layer
17.4.5.
Use Case: Diversity Score
17.4.6.
Use Case: Event Notification
17.4.7.
Use Case: Experimental Results
17.4.8.
Use Case: Gain Blossoms
17.4.9.
Use Case: Habitats Layer
17.4.10.
Use Case: Import and Export Maps
17.4.11.
Use Case: Ingredient Lists
17.4.12.
Use Case: Landing Page News
17.4.13.
Use Case: Layer Alternatives
17.4.14.
Use Case: Map Honors
17.4.15.
Use Case: Map-Specific Favorite Groups
17.4.16.
Use Case: Map Statistics
17.4.17.
Use Case: Matchmaking
17.4.18.
Use Case: Membership Application
17.4.19.
Use Case: New Plant
17.4.20.
Use Case: Offline
17.4.21.
Use Case: Paths Layer
17.4.22.
Use Case: Plant Lore
17.4.23.
Use Case: Review Plant
17.4.24.
Use Case: Review Plant Relationships
17.4.25.
Use Case: Reward Preview
17.4.26.
Use Case: Terrain Layer
17.4.27.
Use Case: Todo Layer
17.4.28.
Use Case: Trees Layer
17.4.29.
Use Case: Winds Layer
17.5.
Later Use Cases
❱
17.5.1.
Use Case: Buy Seeds
17.5.2.
Use Case: Calendar
17.5.3.
Use Case: Fertilization Layer
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: Nextcloud Circles
17.5.11.
Use Case: Plant Database Update Notification
17.5.12.
Use Case: Relation Layer
17.5.13.
Use Case: Suggest Plants
17.5.14.
Use Case: Visitor chat
17.5.15.
Use Case: Watering Layer
17.5.16.
Use Case: Zones Layer
Light
Rust
Coal
Navy
Ayu
PermaplanT
Example Migrations