Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
fd69766
added farm calendar activity type interface
mateo-budanovic-vlf Oct 24, 2025
9eac2c9
adjusted some fields in farm calendar activity types
mateo-budanovic-vlf Oct 24, 2025
ea56ec0
impl agricultural machine interface and used it in UAV flight forecas…
mateo-budanovic-vlf Oct 24, 2025
8901ab8
farm calendar fetches activity types to get API info
mateo-budanovic-vlf Oct 27, 2025
18f1f00
added multiple select functionality to generic select component
mateo-budanovic-vlf Oct 27, 2025
40e5749
updated agri machine model to match response shape
mateo-budanovic-vlf Oct 27, 2025
a6c4cac
impl interfaces for all calendar activities into one file, extracted …
mateo-budanovic-vlf Oct 27, 2025
a1ffab0
impl farm crop model
mateo-budanovic-vlf Oct 27, 2025
86ed834
impl dynamic farm calendar activity CRUD actions component (still WIP…
mateo-budanovic-vlf Oct 27, 2025
0f3a793
impl operated on compost pile field, post and patch data logic moved …
mateo-budanovic-vlf Oct 28, 2025
4a7f562
impl WIP nested activities field, changed permuted file names
mateo-budanovic-vlf Oct 28, 2025
9b1d1da
label fix
mateo-budanovic-vlf Oct 28, 2025
83bb921
fix import
mateo-budanovic-vlf Oct 28, 2025
6755187
condition for render nested activities fix
mateo-budanovic-vlf Oct 28, 2025
e230141
impl applied amount and pesticide fields rendering, impl pesticide model
mateo-budanovic-vlf Oct 28, 2025
5ae3dbd
impl application method field
mateo-budanovic-vlf Oct 29, 2025
378c8d8
impl fertilizer field and interface
mateo-budanovic-vlf Oct 29, 2025
20357a1
fix for generic activity and observation in the edit activity component
mateo-budanovic-vlf Oct 29, 2025
1711b45
impl compost material operations for add raw material activity type. …
mateo-budanovic-vlf Oct 29, 2025
f380c98
added is part of activity field to all interfaces
mateo-budanovic-vlf Oct 30, 2025
9641e68
impl parent activity seelct and logic
mateo-budanovic-vlf Oct 31, 2025
3d262ab
comments adjusted and added
mateo-budanovic-vlf Oct 31, 2025
fbdcf3c
fix when setting parent activity after it has been null causing error
mateo-budanovic-vlf Oct 31, 2025
68470ff
impl generic select supporting data reception from parent component
mateo-budanovic-vlf Oct 31, 2025
841dd32
fetching and storing all calendar activities on the CRUD component, p…
mateo-budanovic-vlf Oct 31, 2025
5bfcfae
comment fix
mateo-budanovic-vlf Oct 31, 2025
6c271f7
comment separator added
mateo-budanovic-vlf Oct 31, 2025
9909227
moved all calendar activities code section part
mateo-budanovic-vlf Oct 31, 2025
27391fe
finished impl nested activities, passing all activity types from cale…
mateo-budanovic-vlf Nov 4, 2025
a8f8194
added WIP fields for severity and irrigation systems
mateo-budanovic-vlf Nov 7, 2025
b6a82b1
impl register activity component without API, activity model factory,…
mateo-budanovic-vlf Nov 10, 2025
25960cf
fixed related observation field null case in activity crud actions
mateo-budanovic-vlf Nov 10, 2025
94c00aa
tested adding activities and make adjustments to register activity an…
mateo-budanovic-vlf Nov 10, 2025
2749641
impl use fetch and generic select support for OPTIONS calls
mateo-budanovic-vlf Nov 20, 2025
048bc02
impl severity and uses irrigation fields
mateo-budanovic-vlf Nov 20, 2025
87102db
building ci for ARM
arruda Nov 27, 2025
0c66d62
Merge pull request #1 from openagri-eu/farm-calendar-activities
mateo-budanovic-vlf Nov 27, 2025
6b4429d
Merge pull request #2 from openagri-eu/armsbuild
arruda Nov 27, 2025
ca1979f
started impl hicharts for soil moisture analysis
mateo-budanovic-vlf Dec 18, 2025
b0dba31
installed dayjs utc plugin
mateo-budanovic-vlf Dec 19, 2025
68ec89d
impl soil moisture graph display using highcharts and card with high …
mateo-budanovic-vlf Dec 22, 2025
8e99af6
impl field capacity, stress level, and wilting point plot lines
mateo-budanovic-vlf Jan 16, 2026
586766f
impl soil type to soil moisture analysis
mateo-budanovic-vlf Jan 20, 2026
3a62a81
impl crop type and stages dropdowns to ETo
mateo-budanovic-vlf Jan 30, 2026
b3c3075
Merge branch 'main' of github.com:openagri-eu/OpenAgri-UserDashboard …
mateo-budanovic-vlf Feb 3, 2026
c4f1aa4
Merge pull request #3 from openagri-eu/soil-moisture-graph
mateo-budanovic-vlf Feb 3, 2026
adaa064
fixed soil graph not displaying horizontal plot lines in certain cases
mateo-budanovic-vlf Feb 26, 2026
2be63df
Merge pull request #4 from openagri-eu/soil-graph-fix
mateo-budanovic-vlf Feb 26, 2026
3d4fdbd
implemented soil moisture dataset deletion
mateo-budanovic-vlf Mar 11, 2026
d9307e2
Merge pull request #5 from openagri-eu/delete-soil-moisture-dataset
mateo-budanovic-vlf Mar 11, 2026
bcaaf46
parcel depiction field now nullable
mateo-budanovic-vlf Mar 18, 2026
f41e2e0
fixed improper nullish operator usage
mateo-budanovic-vlf Mar 18, 2026
b2ca2d8
added rbac user data into session
mateo-budanovic-vlf Mar 26, 2026
fbd7836
fixed rendering order of state obejcts in dashboard layout
mateo-budanovic-vlf Apr 1, 2026
974de2a
Implemented farm and farm parcel addition
mateo-budanovic-vlf Apr 3, 2026
1f91633
removed markers from soil moisture graph
mateo-budanovic-vlf Apr 3, 2026
d8beac4
Merge pull request #6 from openagri-eu/farm-and-parcel-addition
mateo-budanovic-vlf Apr 8, 2026
fd80477
Merge branch 'main' of github.com:openagri-eu/OpenAgri-UserDashboard …
mateo-budanovic-vlf Apr 8, 2026
431ea45
disabling routes based on access from read user me
mateo-budanovic-vlf Apr 14, 2026
d5e2533
implemented layouts to group services and pass user permissions down …
mateo-budanovic-vlf Apr 16, 2026
ab50674
implemented additional checks to activity crud actions for null values
mateo-budanovic-vlf Apr 16, 2026
1fba71d
generic select canEdit field
mateo-budanovic-vlf Apr 17, 2026
17b1a87
farm calendar page register activity dynamic enabling
mateo-budanovic-vlf Apr 17, 2026
cfea17b
impl dynamic rbac input field and button disabling in activity dynami…
mateo-budanovic-vlf Apr 17, 2026
bc02fab
indenting
mateo-budanovic-vlf Apr 17, 2026
0e95028
impl dynamic rbac logic to farms and farm components
mateo-budanovic-vlf Apr 17, 2026
9481b35
impl dynamic rbac logic to farm parcels and farm parcel components
mateo-budanovic-vlf Apr 17, 2026
c151f8c
impl rbac logic for irrigation
mateo-budanovic-vlf Apr 17, 2026
298da46
impl rbac logic to pests
mateo-budanovic-vlf Apr 20, 2026
f77badd
impl rbac to diseases
mateo-budanovic-vlf Apr 21, 2026
c147ff7
Merge pull request #7 from openagri-eu/rbac
mateo-budanovic-vlf Apr 22, 2026
6d79cfb
Update LICENSE
mateo-budanovic-vlf May 7, 2026
05123e3
Update README.md license section
mateo-budanovic-vlf May 7, 2026
3442f0f
risk index overhaul to risk forecast, using threat models with fuzzy …
mateo-budanovic-vlf May 11, 2026
d189329
full fuzzy logic impl, replaces diseases with threats
mateo-budanovic-vlf May 14, 2026
b005a99
implemented validation fixes and generic select additions
mateo-budanovic-vlf May 14, 2026
9c2414e
fixed missing required fields due to missmatching key names
mateo-budanovic-vlf May 15, 2026
535fe43
cherry picked generic select changes from farm-activity-crud-validati…
mateo-budanovic-vlf May 15, 2026
b554801
implemented managing and registering new activity types
mateo-budanovic-vlf May 15, 2026
2161b6a
Merge branch 'main' of github.com:openagri-eu/OpenAgri-UserDashboard …
mateo-budanovic-vlf May 15, 2026
d6344e3
fixes to severity and related observations
mateo-budanovic-vlf May 15, 2026
5a05389
Merge branch 'main' of github.com:openagri-eu/OpenAgri-UserDashboard …
mateo-budanovic-vlf May 15, 2026
aa23f12
Merge pull request #8 from openagri-eu/farm-activity-crud-validation-fix
mateo-budanovic-vlf May 18, 2026
e0bf87b
added navigateFallbackDenylist param to vite config, fix for invalid …
mateo-budanovic-vlf May 19, 2026
ba2b3b5
Merge pull request #9 from openagri-eu/fuzzy-logic
mateo-budanovic-vlf May 19, 2026
1cd535b
removed sign up page and all references to it
mateo-budanovic-vlf May 19, 2026
ad60b6f
implemented PWA - generated all images, configured manifest, updated …
mateo-budanovic-vlf May 29, 2026
5c9bb15
added runtime SW caching, offline chip, logout cache wipe
mateo-budanovic-vlf Jun 9, 2026
5dfe910
fonts get precached
mateo-budanovic-vlf Jun 9, 2026
453de0c
modified how token refreshing works while offline - removed stale tok…
mateo-budanovic-vlf Jun 9, 2026
dc1b64d
implemented prepare for offline button and caching logic, adjusted fa…
mateo-budanovic-vlf Jun 10, 2026
f3efded
updated status messages for failed API calls and added retry button t…
mateo-budanovic-vlf Jun 10, 2026
ca9392e
integrated openlayers and implemented WKT polygon selection from map …
mateo-budanovic-vlf Jun 12, 2026
059f02f
Bumped maximumFileSizeToCacheInBytes to 5 MiB
mateo-budanovic-vlf Jun 16, 2026
27d5bef
fix for farm parcel required fields
mateo-budanovic-vlf Jun 23, 2026
cec5bb5
Implemented parcel viewing and accessing module to farm details view
mateo-budanovic-vlf Jun 24, 2026
90db4b3
animal and animal lactating activities added
mateo-budanovic-vlf Jun 24, 2026
ac7f45a
added unit of measurement (celsius) to base GDD
mateo-budanovic-vlf Jun 24, 2026
15a17eb
multi select chips have remove button
mateo-budanovic-vlf Jun 24, 2026
e810e22
toponym, region, and area now mandatory fields
mateo-budanovic-vlf Jun 30, 2026
5f8fd13
Merge branch 'main' of github.com:openagri-eu/OpenAgri-UserDashboard
mateo-budanovic-vlf Jun 30, 2026
ecb549f
added unit of measurement to certain pest fields and formatted them
mateo-budanovic-vlf Jun 30, 2026
097e0c7
implemented soild types and crop types to irrigation management and m…
mateo-budanovic-vlf Jul 8, 2026
0b91051
parcel selection module redesign, installed react window
mateo-budanovic-vlf Jul 8, 2026
b2f0f9c
icons for crop and soil types
mateo-budanovic-vlf Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
#build
TAG=latest
DOCKER_REGISTRY=openagri-eu
SOURCE_REPO=https://github.com/openagri-eu/openagri-pestanddiseasemanagement
## DB
VITE_API_URL=https://gk.test.horizon-openagri.eu/api/
SERVICE_PORT=8007
121 changes: 106 additions & 15 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,25 @@
name: Docker Image CI
name: Docker Multi-Platform Builds

on:
push:
branches: [ main ]
workflow_dispatch:
inputs:
branch:
description: 'Branch to run the workflow on'
required: false
release:
types:
- created
types: [ created ]

jobs:
build-and-push:

# -------------------------
# AMD64 Build
# -------------------------
build-amd64:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Saves time by not fetching other branches

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -35,16 +31,111 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set lowercase repository name
- name: Normalize repo and sanitize ref
run: |
echo "REPO_LOWER=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
SAFE_REF=$(echo "${GITHUB_REF_NAME}" | tr / -)
echo "SAFE_REF=$SAFE_REF" >> $GITHUB_ENV

- name: Build and push Docker image
id: docker_build
- name: Build and push AMD64 image
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
build-args: SOURCE_REPO=https://github.com/${{ github.repository }}
platforms: linux/amd64
push: true
tags: ghcr.io/${{ env.REPO_LOWER }}:latest
tags: |
ghcr.io/${{ env.REPO_LOWER }}:${{ env.SAFE_REF }}-amd64
${{ github.ref_name == 'main' && format('ghcr.io/{0}:latest-amd64', env.REPO_LOWER) || '' }}
cache-from: type=gha
cache-to: type=gha,mode=max

# -------------------------
# ARM64 Build
# -------------------------
build-arm64:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker daemon (containerd features)
uses: docker/setup-docker-action@v4
with:
daemon-config: |
{
"debug": true,
"features": { "containerd-snapshotter": true }
}

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Normalize repo and sanitize ref
run: |
echo "REPO_LOWER=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
SAFE_REF=$(echo "${GITHUB_REF_NAME}" | tr / -)
echo "SAFE_REF=$SAFE_REF" >> $GITHUB_ENV

- name: Build and push ARM64 image
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
build-args: BUILDKIT_PROGRESS=plain,SOURCE_REPO=https://github.com/${{ github.repository }}
platforms: linux/arm64
push: true
tags: |
ghcr.io/${{ env.REPO_LOWER }}:${{ env.SAFE_REF }}-arm64
${{ github.ref_name == 'main' && format('ghcr.io/{0}:latest-arm64', env.REPO_LOWER) || '' }}
cache-from: type=gha,scope=arm64
cache-to: type=gha,scope=arm64,mode=max

# -------------------------
# Create multi-arch manifest
# -------------------------
manifest:
needs: [ build-amd64, build-arm64 ]
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx (for imagetools)
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Normalize repo and sanitize ref
run: |
echo "REPO_LOWER=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
SAFE_REF=$(echo "${GITHUB_REF_NAME}" | tr / -)
echo "SAFE_REF=$SAFE_REF" >> $GITHUB_ENV

- name: Create multi-arch manifest for ref tag
run: |
docker buildx imagetools create \
--tag ghcr.io/${{ env.REPO_LOWER }}:${{ env.SAFE_REF }} \
ghcr.io/${{ env.REPO_LOWER }}:${{ env.SAFE_REF }}-amd64 \
ghcr.io/${{ env.REPO_LOWER }}:${{ env.SAFE_REF }}-arm64

- name: Also tag :latest on main
if: ${{ github.ref_name == 'main' }}
run: |
docker buildx imagetools create \
--tag ghcr.io/${{ env.REPO_LOWER }}:latest \
ghcr.io/${{ env.REPO_LOWER }}:latest-amd64 \
ghcr.io/${{ env.REPO_LOWER }}:latest-arm64
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
ARG SOURCE_REPO=https://github.com/openagri-eu/openagri-userdashboard

FROM node:22.17.1 AS builder
LABEL org.opencontainers.image.source=${SOURCE_REPO}

# set working directory
WORKDIR /app
Expand Down
Loading