From 3b2b5d0735e244e2f06c4fe684da35f55255d240 Mon Sep 17 00:00:00 2001 From: Christophe Vila Date: Sun, 26 Jul 2026 09:59:56 +0200 Subject: [PATCH] refined ideas + start.sh rely on .env --- backend/start.sh | 15 +++------------ docs/IDEAS.md | 7 ++++--- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/backend/start.sh b/backend/start.sh index d96fc99..9a7cc80 100755 --- a/backend/start.sh +++ b/backend/start.sh @@ -2,17 +2,8 @@ set -euo pipefail cd "$(dirname "$0")" -# GARMIN_WRAPPER_PYTHON is optional (config.Load() defaults it to "python3" -# on PATH). Export it yourself only if you want a specific interpreter, e.g. -# a local venv with garminconnect installed. -export GENIUSRUN_DB_PATH="${GENIUSRUN_DB_PATH:-geniusrun.db}" - -# OIDC login gate -- no safe default exists for a client secret or a -# session-signing key, so these must come from your own shell/CI secrets. -export GENIUSRUN_PUBLIC_BASE_URL="${GENIUSRUN_PUBLIC_BASE_URL:?set GENIUSRUN_PUBLIC_BASE_URL, e.g. https://geniusrun.example.com}" -export GENIUSRUN_OIDC_ISSUER_URL="${GENIUSRUN_OIDC_ISSUER_URL:?set GENIUSRUN_OIDC_ISSUER_URL, e.g. https://keycloak.example.com/realms/myrealm}" -export GENIUSRUN_OIDC_CLIENT_ID="${GENIUSRUN_OIDC_CLIENT_ID:?set GENIUSRUN_OIDC_CLIENT_ID}" -export GENIUSRUN_OIDC_CLIENT_SECRET="${GENIUSRUN_OIDC_CLIENT_SECRET:?set GENIUSRUN_OIDC_CLIENT_SECRET}" -export GENIUSRUN_SESSION_SECRET="${GENIUSRUN_SESSION_SECRET:?set GENIUSRUN_SESSION_SECRET to a random string >=32 characters}" +set -a +source .env +set +a exec go run ./cmd/geniusrund diff --git a/docs/IDEAS.md b/docs/IDEAS.md index d4813f8..ff0c6f4 100644 --- a/docs/IDEAS.md +++ b/docs/IDEAS.md @@ -8,9 +8,10 @@ for that history) and remove it from here once a spec exists. ## Backlog -- add dedicated workouts in database (instead of hard linking them in activities) -- better UX for MFA management -- better UX for activities/workout download (progress bar, error management) +- improve first connection page: in CreateProfile.tsx, in addition to the display name, we should directly ask garmin login/password and manage MFA from there, so the synchronization experience in profile page will be easier later on +- profile deletion: add a way to delete our profile with a dedicated button on the profile page (which by extension will also logout the user, to be consistent with the logic that login will trigger the profile creation) +- dedicated workouts section: add workouts table in database and create a dedicated page in UI (use an "objective" icon) +- improve activities/workouts download: make it modal, add progress bar, error management - better UX when backend is not available (instead of "TypeError failed to fetch") - better UX for activities (list layout without the graphs, detailed view with different graphs for each phase incl. delta with workout) - add icon to indicate if an activity has an associated workout