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
4.
Changelog
5.
CI/CD Pipeline
6.
Contributing to PermaplanT
❱
6.1.
Contributing to Backend
6.2.
Contributing to Frontend
7.
Database
❱
7.1.
Cronjobs
7.2.
Hierarchy
7.3.
Schemata
❱
7.3.1.
ER diagram
7.3.2.
Enum Types
7.3.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 Testing Strategy
8.9.
Backend Web Framework
8.10.
CI/CD
8.11.
Database
8.12.
Database Plant Hierarchy
8.13.
Drawing Library
8.14.
Example Migrations
❱
8.14.1.
Normalized Plants and Ranks
❱
8.14.1.1.
2023-04-07-130215 Plant Relastionships
❱
8.14.1.1.1.
down.sql
8.14.1.1.2.
up.sql
8.14.1.2.
example_queries.sql
8.14.2.
One Table Per Taxonomy
❱
8.14.2.1.
2023-03-09-194135 Plant Relations
❱
8.14.2.1.1.
down.sql
8.14.2.1.2.
up.sql
8.14.3.
Taxonomy Ranks And Concrete Plants
❱
8.14.3.1.
2023-04-04-220813 Taxons
❱
8.14.3.1.1.
down.sql
8.14.3.1.2.
up.sql
8.14.3.2.
2023-04-04-220921 Plant Relationships
❱
8.14.3.2.1.
down.sql
8.14.3.2.2.
up.sql
8.14.3.3.
2023-04-07-112305 Varieties
❱
8.14.3.3.1.
down.sql
8.14.3.3.2.
up.sql
8.14.3.4.
example_queries.sql
8.15.
Frontend Architecture Pattern
8.16.
Frontend Build Tool
8.17.
Frontend Documentation
8.18.
E2E Testing
8.19.
Frontend Keyhandling
8.20.
Frontend Lazyloading
8.21.
Frontend API Mocking Tool
8.22.
Frontend Offloading
8.23.
Polygon Libraries
8.24.
Frontend Programming Language
8.25.
Frontend State Management
8.26.
Timeline: Custom Date Picker Implementation Decision
8.27.
Frontend UI Framework
8.28.
Map Undo/Redo Implementation
8.29.
Reversible deletion of database entities
8.30.
Search Plants
8.31.
Sync
8.32.
Uuid
9.
Development Setup
10.
Guidelines
❱
10.1.
REST
10.2.
Backend Logging
10.3.
Backend
10.4.
Code
10.5.
Database
10.6.
Documentation
10.7.
e2e
10.8.
Frontend API Calls
10.9.
Creating a New Layer in Frontend
10.10.
Frontend Keybindings
10.11.
Frontend Locators
10.12.
Frontend UI & Usability
10.13.
Frontend
10.14.
i18n
10.15.
Security
10.16.
Versioning
11.
Meetings
❱
11.1.
Meeting 2023-03-07
11.2.
Meeting 2023-03-14
11.3.
Meeting 2023-03-15 Gamification
11.4.
Meeting 2023-03-15 Polyculture Algorithm
11.5.
Meeting 2023-03-20 DB Kick-Off
11.6.
Meeting 2023-03-21
11.7.
Meeting 2023-03-23 Backend Kick-Off
11.8.
Meeting 2023-03-28
11.9.
Meeting 2023-03-30 - Polyculture
11.10.
Meeting 2023-03-31
11.11.
Meeting 2023-04-04
11.12.
Meeting 2023-04-07 DB
11.13.
Meeting 2023-04-07 Frontend
11.14.
Meeting 2023-04-11
11.15.
Meeting 2023-04-18
11.16.
Meeting 2023-04-25
11.17.
Meeting 2023-04-27 DB
11.18.
Meeting 2023-05-02
11.19.
Meeting 2023-05-09
11.20.
Meeting 2023-05-16
11.21.
Meeting 2023-05-23
11.22.
Meeting 2023-05-26 Architecture
11.23.
Meeting 2023-05-30
11.24.
Meeting 2023-06-06
11.25.
Meeting 2023-06-13
11.26.
Meeting 2023-06-20
11.27.
Meeting 2023-06-27
11.28.
Meeting 2023-07-04
11.29.
Meeting 2023-07-11
11.30.
Meeting 2023-07-18
11.31.
Meeting 2023-07-25
11.32.
Meeting 2023-07-31
11.33.
Meeting 2023-08-08
11.34.
Meeting 2023-08-15
11.35.
Meeting 2023-08-22
11.36.
Meeting 2023-08-28
11.37.
Meeting 2023-09-04
11.38.
Meeting 2023-09-11
11.39.
Meeting 2023-09-18
11.40.
Meeting 2023-09-25
11.41.
Meeting 2023-10-02
11.42.
Meeting 2023-10-09
11.43.
Meeting 2023-10-16
11.44.
Meeting 2023-10-23
11.45.
Meeting 2023-10-30
11.46.
Meeting 2023-11-06
11.47.
Meeting 2023-11-13
11.48.
Meeting 2023-11-20
11.49.
Meeting 2023-11-27
11.50.
Meeting 2023-12-04
11.51.
Meeting 2023-12-11
11.52.
Meeting 2023-12-18
11.53.
Meeting 2023-12-27
11.54.
Meeting 2024-01-02
11.55.
Meeting 2024-01-08
11.56.
Meeting 2024-01-15
11.57.
Meeting 2024-01-22
11.58.
Meeting 2024-01-29
11.59.
Meeting 2024-02-05
11.60.
Meeting 2024-02-12
11.61.
Meeting 2024-02-19
11.62.
Meeting 2024-03-11
11.63.
Meeting 25.03.2024
11.64.
Meeting 02.04.2024
11.65.
Meeting 04.04.2024 - Scrum Processes
11.66.
Meeting 08.04.2024
11.67.
Meeting 15.04.2024
11.68.
Meeting 22.04.2024
11.69.
Meeting 06.05.2024
11.70.
Meeting 13.05.2024
11.71.
Meeting 20.05.2024
11.72.
Meeting 27.05.2024
11.73.
Meeting 03.06.2024
11.74.
Meeting 10.06.2024
11.75.
Meeting 17.06.2024
11.76.
Meeting 24.06.2024
11.77.
Meeting 27.06.2024 - Heatmap
11.78.
Meeting 15.07.2024
11.79.
Meeting 22.07.2024
11.80.
Meeting 29.07.2024
11.81.
Meeting 05.08.2024
11.82.
Meeting 12.08.2024
11.83.
Meeting 19.08.2024
11.84.
Meeting 26.08.2024
11.85.
Meeting 09.09.2024
12.
Mockups
13.
Release Procedure Documentation
14.
Research
❱
14.1.
Nextcloud Integration
15.
Setup scripts for PermaplanT
❱
15.1.
Local Keycloak Setup
15.2.
Nextcloud Setup
15.3.
nginx
15.4.
Postgis Docker
16.
Testing Strategy
❱
16.1.
Backend Testing
16.2.
Frontend testing
16.3.
manual
❱
16.3.1.
Manual Test Protocol
16.3.2.
Report
❱
16.3.2.1.
Heatmap with Shade
16.3.2.2.
Manual Test Report (pre v0.3 case study release)
16.3.2.3.
Manual Test Report (v0.3 case study release)
16.3.2.4.
Manual Test Report (v0.3.1)
16.3.2.5.
Manual Test Report (v0.3.2)
16.3.2.6.
Manual Test Report (v0.3.3)
16.3.2.7.
Manual Test Report (v0.3.4)
16.3.2.8.
Manual Test Report (v0.3.5)
16.3.2.9.
Manual Test Report (v0.3.6)
16.3.2.10.
Manual Test Report (v0.4.0)
16.3.2.11.
Manual Test Report (v0.4.1)
16.3.2.12.
240801
16.3.2.13.
240801_dev
16.3.2.14.
240802_seeds
16.3.2.15.
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: Crop Rotation
17.1.6.
Use Case: Fertilization Layer
17.1.7.
Use Case: GeoMap
17.1.8.
Use Case: Hydrology Layer
17.1.9.
Use Case: Infrastructure Layer
17.1.10.
Use Case: Landscape Layer
17.1.11.
Use Case: Map Collaboration
17.1.12.
Use Case: Map Timeline Range Selection
17.1.13.
Use Case: Map to PDF
17.1.14.
Use Case: New Member Notification
17.1.15.
Use Case: Plant Database Update Notification
17.1.16.
Use Case: Relation Layer
17.1.17.
Use Case: Soil Layer
17.1.18.
Use Case: Watering Layer
17.1.19.
Use Case: Zones Layer
17.2.
Current Use Cases
❱
17.2.1.
Use Case: Heatmap
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: Entry and List of Seeds
17.3.5.
Use Case: Grid
17.3.6.
Use Case: Guided Tour
17.3.7.
Use Case: Landing Page
17.3.8.
Use Case: Layer Visibility
17.3.9.
Use Case: Login
17.3.10.
Use Case: Manage Additional Layers
17.3.11.
Use Case: Map Creation
17.3.12.
Use Case: Map Deletion
17.3.13.
Use Case: Map Search
17.3.14.
Use Case: Map Timeline Event View
17.3.15.
Use Case: Map Timeline Single Selection
17.3.16.
Use Case: Map Undo/Redo
17.3.17.
Use Case: Measuring Distance
17.3.18.
Use Case: Multi-Select
17.3.19.
Use Case: Plants Layer
17.3.20.
Use Case: Rename Layers
17.3.21.
Use Case: Search Plants
17.3.22.
Use Case: Shade Layer
17.3.23.
Use Case: Translation
17.3.24.
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: Incomplete Groups
17.5.4.
Use Case: Nextcloud Circles
17.5.5.
Use Case: Suggest Plants
17.5.6.
Use Case: Visitor chat
Light
Rust
Coal
Navy
Ayu
PermaplanT
Database