https://github.com/RepoBean/workout-tracker
· scanned 2026-06-15 23:49 UTC (2 months, 3 weeks ago)
59 raw signals (0 security + 59 graph)
Last scanned 2 months, 3 weeks ago · v1 · 59 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 551 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
RouteFallback |
software | healthy | frontend/src/App.tsx:RouteFallback |
TabIcon |
software | healthy | frontend/src/App.tsx:TabIcon |
BottomTabBar |
software | healthy | frontend/src/App.tsx:BottomTabBar |
OfflineBanner |
software | healthy | frontend/src/App.tsx:OfflineBanner |
WorkoutErrorFallback |
software | healthy | frontend/src/App.tsx:WorkoutErrorFallback |
AppContent |
software | healthy | frontend/src/App.tsx:AppContent |
App |
software | healthy | frontend/src/App.tsx:App |
isCardioSet |
software | healthy | frontend/src/shared/api/predicates.ts:isCardioSet |
isCardioExercise |
software | healthy | frontend/src/shared/api/predicates.ts:isCardioExercise |
getTargetSets |
software | healthy | frontend/src/shared/api/predicates.ts:getTargetSets |
useHealthCheck |
software | healthy | frontend/src/shared/api/queries.ts:useHealthCheck |
usePrograms |
software | healthy | frontend/src/shared/api/queries.ts:usePrograms |
useProgram |
software | healthy | frontend/src/shared/api/queries.ts:useProgram |
useSession |
software | healthy | frontend/src/shared/api/queries.ts:useSession |
useHistory |
software | healthy | frontend/src/shared/api/queries.ts:useHistory |
useExerciseSuggestions |
software | healthy | frontend/src/shared/api/queries.ts:useExerciseSuggestions |
useExerciseHistoryByName |
software | healthy | frontend/src/shared/api/queries.ts:useExerciseHistoryByName |
useCalendarSessions |
software | healthy | frontend/src/shared/api/queries.ts:useCalendarSessions |
usePreviousSession |
software | healthy | frontend/src/shared/api/queries.ts:usePreviousSession |
useActiveSessionCheck |
software | healthy | frontend/src/shared/api/queries.ts:useActiveSessionCheck |
useSetExerciseNote |
software | healthy | frontend/src/shared/api/queries.ts:useSetExerciseNote |
useImportProgram |
software | healthy | frontend/src/shared/api/queries.ts:useImportProgram |
useStats |
software | healthy | frontend/src/shared/api/queries.ts:useStats |
SwipeableRow |
software | healthy | frontend/src/shared/ui/SwipeableRow.tsx:SwipeableRow |
Button |
software | healthy | frontend/src/shared/ui/Button.tsx:Button |
Modal |
software | healthy | frontend/src/shared/ui/Modal.tsx:Modal |
handleKeyDown |
software | healthy | frontend/src/shared/ui/Modal.tsx:handleKeyDown |
ToastProvider |
software | healthy | frontend/src/shared/ui/Toast.tsx:ToastProvider |
ToastContainer |
software | healthy | frontend/src/shared/ui/Toast.tsx:ToastContainer |
useToast |
software | healthy | frontend/src/shared/ui/Toast.tsx:useToast |
formatTime |
software | healthy | frontend/src/shared/ui/TimerIndicator.tsx:formatTime |
TimerIndicator |
software | healthy | frontend/src/shared/ui/TimerIndicator.tsx:TimerIndicator |
TimeInZoneBar |
software | healthy | frontend/src/shared/ui/TimeInZoneBar.tsx:TimeInZoneBar |
pct |
software | healthy | frontend/src/shared/ui/TimeInZoneBar.tsx:pct |
HeartRatePill |
software | healthy | frontend/src/shared/ui/HeartRatePill.tsx:HeartRatePill |
formatMMSS |
software | healthy | frontend/src/shared/utils/format.ts:formatMMSS |
parseDurationToSec |
software | healthy | frontend/src/shared/utils/format.ts:parseDurationToSec |
downsampleHr |
software | healthy | frontend/src/shared/utils/heartRate.ts:downsampleHr |
parseSeries |
software | healthy | frontend/src/shared/utils/heartRate.ts:parseSeries |
epleyOneRepMax |
software | healthy | frontend/src/shared/lib/oneRepMax.ts:epleyOneRepMax |
computeAge |
software | healthy | frontend/src/shared/lib/hrZones.ts:computeAge |
isValidDob |
software | healthy | frontend/src/shared/lib/hrZones.ts:isValidDob |
isValidRestingHr |
software | healthy | frontend/src/shared/lib/hrZones.ts:isValidRestingHr |
isValidMaxHrOverride |
software | healthy | frontend/src/shared/lib/hrZones.ts:isValidMaxHrOverride |
estimateMaxHr |
software | healthy | frontend/src/shared/lib/hrZones.ts:estimateMaxHr |
getZone |
software | healthy | frontend/src/shared/lib/hrZones.ts:getZone |
computeTimeInZone |
software | healthy | frontend/src/shared/lib/hrZones.ts:computeTimeInZone |
parseHr |
software | healthy | frontend/src/shared/context/HeartRateContext.tsx:parseHr |
is16Bit |
software | healthy | frontend/src/shared/context/HeartRateContext.tsx:is16Bit |
HeartRateProvider |
software | healthy | frontend/src/shared/context/HeartRateContext.tsx:HeartRateP… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GUARDIAN.md |
software | healthy | GUARDIAN.md |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
start.sh |
software | healthy | start.sh |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
start-dev.sh |
software | healthy | start-dev.sh |
docker-compose.yml |
software | healthy | docker-compose.yml |
vite.config.ts |
software | healthy | frontend/vite.config.ts |
tailwind.config.js |
software | healthy | frontend/tailwind.config.js |
package.json |
software | healthy | frontend/package.json |
index.html |
software | healthy | frontend/index.html |
package-lock.json |
software | healthy | frontend/package-lock.json |
tsconfig.json |
software | healthy | frontend/tsconfig.json |
postcss.config.js |
software | healthy | frontend/postcss.config.js |
vitest.config.ts |
software | healthy | frontend/vitest.config.ts |
manifest.json |
software | healthy | frontend/public/manifest.json |
index.css |
software | healthy | frontend/src/index.css |
main.tsx |
software | healthy | frontend/src/main.tsx |
vite-env.d.ts |
software | healthy | frontend/src/vite-env.d.ts |
App.tsx |
software | healthy | frontend/src/App.tsx |
setup.ts |
software | healthy | frontend/src/test/setup.ts |
predicates.ts |
software | healthy | frontend/src/shared/api/predicates.ts |
client.ts |
software | healthy | frontend/src/shared/api/client.ts |
queries.ts |
software | healthy | frontend/src/shared/api/queries.ts |
types.ts |
software | healthy | frontend/src/shared/api/types.ts |
cardio.ts |
software | healthy | frontend/src/shared/api/cardio.ts |
SwipeableRow.tsx |
software | healthy | frontend/src/shared/ui/SwipeableRow.tsx |
Button.tsx |
software | healthy | frontend/src/shared/ui/Button.tsx |
Input.tsx |
software | healthy | frontend/src/shared/ui/Input.tsx |
ErrorBoundary.tsx |
software | healthy | frontend/src/shared/ui/ErrorBoundary.tsx |
Modal.tsx |
software | healthy | frontend/src/shared/ui/Modal.tsx |
Toast.tsx |
software | healthy | frontend/src/shared/ui/Toast.tsx |
TimerIndicator.tsx |
software | healthy | frontend/src/shared/ui/TimerIndicator.tsx |
TimeInZoneBar.tsx |
software | healthy | frontend/src/shared/ui/TimeInZoneBar.tsx |
HeartRatePill.tsx |
software | healthy | frontend/src/shared/ui/HeartRatePill.tsx |
format.test.ts |
software | healthy | frontend/src/shared/utils/format.test.ts |
format.ts |
software | healthy | frontend/src/shared/utils/format.ts |
heartRate.ts |
software | healthy | frontend/src/shared/utils/heartRate.ts |
hrZones.test.ts |
software | healthy | frontend/src/shared/lib/hrZones.test.ts |
oneRepMax.ts |
software | healthy | frontend/src/shared/lib/oneRepMax.ts |
hrZones.ts |
software | healthy | frontend/src/shared/lib/hrZones.ts |
HeartRateContext.tsx |
software | healthy | frontend/src/shared/context/HeartRateContext.tsx |
ThemeContext.tsx |
software | healthy | frontend/src/shared/context/ThemeContext.tsx |
UserProfileContext.tsx |
software | healthy | frontend/src/shared/context/UserProfileContext.tsx |
AiCoachContext.tsx |
software | healthy | frontend/src/shared/context/AiCoachContext.tsx |
ProgressionContext.tsx |
software | healthy | frontend/src/shared/context/ProgressionContext.tsx |
TimerContext.tsx |
software | healthy | frontend/src/shared/context/TimerContext.tsx |
OfflineContext.tsx |
software | healthy | frontend/src/shared/context/OfflineContext.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
software | healthy | frontend |
public |
software | healthy | frontend/public |
src |
software | healthy | frontend/src |
test |
software | healthy | frontend/src/test |
shared |
software | healthy | frontend/src/shared |
api |
software | healthy | frontend/src/shared/api |
ui |
software | healthy | frontend/src/shared/ui |
utils |
software | healthy | frontend/src/shared/utils |
lib |
software | healthy | frontend/src/shared/lib |
context |
software | healthy | frontend/src/shared/context |
features |
software | healthy | frontend/src/features |
settings |
software | healthy | frontend/src/features/settings |
dashboard |
software | healthy | frontend/src/features/dashboard |
components |
software | healthy | frontend/src/features/dashboard/components |
hooks |
software | healthy | frontend/src/features/dashboard/hooks |
progress |
software | healthy | frontend/src/features/progress |
components |
software | healthy | frontend/src/features/progress/components |
hooks |
software | healthy | frontend/src/features/progress/hooks |
active-session |
software | healthy | frontend/src/features/active-session |
components |
software | healthy | frontend/src/features/active-session/components |
lib |
software | healthy | frontend/src/features/active-session/lib |
logic |
software | healthy | frontend/src/features/active-session/logic |
hooks |
software | healthy | frontend/src/features/active-session/hooks |
coach |
software | healthy | frontend/src/features/coach |
components |
software | healthy | frontend/src/features/coach/components |
lib |
software | healthy | frontend/src/features/coach/lib |
providers |
software | healthy | frontend/src/features/coach/lib/providers |
history |
software | healthy | frontend/src/features/history |
components |
software | healthy | frontend/src/features/history/components |
hooks |
software | healthy | frontend/src/features/history/hooks |
program-builder |
software | healthy | frontend/src/features/program-builder |
components |
software | healthy | frontend/src/features/program-builder/components |
hooks |
software | healthy | frontend/src/features/program-builder/hooks |
backend |
software | healthy | backend |
scripts |
software | healthy | backend/scripts |
src |
software | healthy | backend/src |
types |
software | healthy | backend/src/types |
models |
software | healthy | backend/src/models |
middleware |
software | healthy | backend/src/middleware |
routes |
software | healthy | backend/src/routes |
| Label | Layer | Status | Path |
|---|---|---|---|
POST /workouts/reorder |
api | healthy | frontend/src/features/program-builder/hooks/usePrograms.ts |
GET /api/health |
api | healthy | backend/src/index.ts |
USE /api/programs |
api | healthy | backend/src/index.ts |
USE /api/workouts |
api | healthy | backend/src/index.ts |
USE /api/exercises |
api | healthy | backend/src/index.ts |
USE /api/sessions |
api | healthy | backend/src/index.ts |
GET /:id |
api | healthy | backend/src/routes/workouts.ts |
POST / |
api | healthy | backend/src/routes/workouts.ts |
PUT /:id |
api | healthy | backend/src/routes/workouts.ts |
DELETE /:id |
api | healthy | backend/src/routes/workouts.ts |
POST /:id/duplicate |
api | healthy | backend/src/routes/workouts.ts |
POST /reorder |
api | healthy | backend/src/routes/workouts.ts |
POST /:id/reorder-exercises |
api | healthy | backend/src/routes/workouts.ts |
GET / |
api | healthy | backend/src/routes/programs.ts |
GET /:id/export |
api | healthy | backend/src/routes/programs.ts |
POST /import |
api | healthy | backend/src/routes/programs.ts |
PUT /:id/set-active |
api | healthy | backend/src/routes/programs.ts |
GET /history-by-name |
api | healthy | backend/src/routes/exercises.ts |
GET /all-sets-by-name |
api | healthy | backend/src/routes/exercises.ts |
GET /suggestions |
api | healthy | backend/src/routes/exercises.ts |
GET /history |
api | healthy | backend/src/routes/sessions.ts |
GET /active |
api | healthy | backend/src/routes/sessions.ts |
GET /export-csv |
api | healthy | backend/src/routes/sessions.ts |
GET /stats |
api | healthy | backend/src/routes/sessions.ts |
GET /:id/previous |
api | healthy | backend/src/routes/sessions.ts |
POST /start |
api | healthy | backend/src/routes/sessions.ts |
POST /:id/sets |
api | healthy | backend/src/routes/sessions.ts |
PUT /:id/sets/:setId |
api | healthy | backend/src/routes/sessions.ts |
PUT /:id/exercise-note |
api | healthy | backend/src/routes/sessions.ts |
POST /:id/complete |
api | healthy | backend/src/routes/sessions.ts |
DELETE /:id/sets/:setId |
api | healthy | backend/src/routes/sessions.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | frontend/src/App.tsx |
Settings |
frontend | healthy | frontend/src/features/settings/index.tsx |
Dashboard |
frontend | healthy | frontend/src/features/dashboard/index.tsx |
Progress |
frontend | healthy | frontend/src/features/progress/index.tsx |
ActiveSession |
frontend | healthy | frontend/src/features/active-session/index.tsx |
Coach |
frontend | healthy | frontend/src/features/coach/index.tsx |
History |
frontend | healthy | frontend/src/features/history/index.tsx |
ProgramBuilder |
frontend | healthy | frontend/src/features/program-builder/index.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | frontend/src/App.tsx |
/programs |
frontend | healthy | frontend/src/App.tsx |
/progress |
frontend | healthy | frontend/src/App.tsx |
/workout/:id |
frontend | healthy | frontend/src/App.tsx |
/history |
frontend | healthy | frontend/src/App.tsx |
/coach |
frontend | healthy | frontend/src/App.tsx |
/settings |
frontend | healthy | frontend/src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | frontend/src/shared/ui/ErrorBoundary.tsx:ErrorBoundary |
Workout |
software | healthy | backend/src/models/Workout.ts:Workout |
Program |
software | healthy | backend/src/models/Program.ts:Program |
Set |
software | healthy | backend/src/models/Set.ts:Set |
Exercise |
software | healthy | backend/src/models/Exercise.ts:Exercise |
Session |
software | healthy | backend/src/models/Session.ts:Session |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3001 |
network | healthy | .env.example |
port:8035 |
network | healthy | docker-compose.yml |
port:80 |
network | healthy | docker-compose.yml |
port:5174 |
network | healthy | frontend/vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
postgres |
data | healthy | CLAUDE.md |
mariadb |
data | healthy | backend/package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.1.100 |
network | healthy | README.md |
127.0.0.1 |
network | healthy | docker-compose.yml |
2.37.996.608 |
network | healthy | frontend/src/features/dashboard/index.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
backend |
hardware | healthy | docker-compose.yml |
frontend |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-l3bscnli |
software | healthy | /tmp/repobility-clone-l3bscnli |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | README.md |
This page is publicly accessible at:
https://repobility.com/scan/a50f059b-ef2d-494c-81be-91c90575b0fc/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a50f059b-ef2d-494c-81be-91c90575b0fc/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.