Commit Graph
11 Commits
Author SHA1 Message Date
rootandClaude Sonnet 5 0c6a297198 Add Privacy Policy and Terms of Service pages
Registration collects health-adjacent data (age, weight, height, health
notes, goals) with no privacy policy or ToS anywhere in the app. Adds
both as real pages at /privacy and /terms, a site-wide footer linking to
them (the app had no footer at all outside the homepage), and a consent
line on the registration form. Both pages are marked as a starting draft
with bracketed placeholders for operator/jurisdiction details rather
than inventing legal claims the app can't back up.

Also removed the homepage's own footer, which duplicated the new global
one and whose Privacy/Terms/About/Contact links were all dead `#`
placeholders, and fixed APP_NAME (was "Laravel", site is branded
FitAtlas everywhere else including the browser tab title).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 11:55:11 +03:00
rootandClaude Sonnet 5 0a36afbfdc Add feature test coverage for the core domain
Only Breeze's default auth/profile tests existed - nothing covered
Workouts, Sessions, Exercises, Yoga, Favorites, Blog, or the Admin
panel, which is the actual product. Adds factories for the domain
models and 45 new feature tests covering the main flows plus
authorization boundaries (owner-only access on workouts/sessions,
admin-only access on /admin, drafts hidden from the public blog).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 11:47:51 +03:00
rootandClaude Sonnet 5 221493e56f Fix two live 500s: favorite toggle and admin exercise creation
FavoriteController's constructor called $this->middleware('auth'),
which no longer exists on Laravel 12's base Controller (removed in the
framework's slimmer controller base). Every favorite-toggle request was
500ing. The routes already sit inside a Route::middleware('auth') group
in web.php, so the constructor was both redundant and broken - removed it.

Separately, exercises.exercise_db_id was NOT NULL with a unique
constraint, but the admin "create exercise" form never set it (that
column only gets populated by the fetch:exercise importer). Creating an
exercise by hand through the admin UI has been broken since it was
built. Made the column nullable.

Both found by adding feature test coverage, not by manual testing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 11:47:44 +03:00
rootandClaude Sonnet 5 4686dea609 Add blog feature and fix broken test/build infra
BlogController was an empty stub with no view, so /blog 500'd on every
visit. Adds a real Post model, public listing/detail pages, and an admin
CRUD screen mirroring the existing Exercise admin pattern (image upload
or URL, auto-slug, publish toggle). Seeds 5 real posts so it's not empty
on launch.

Also fixes two things that were silently broken: phpunit.xml pointed
DB_DATABASE at a non-existent "testing" file with no DB_CONNECTION set,
and the stock ExampleTest had RefreshDatabase commented out - both meant
the test suite never actually ran successfully.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 11:36:31 +03:00
root beeda8139b some progress 2025-10-06 22:35:04 +03:00
root 07148700a5 loads of progress 2025-10-04 19:40:13 +03:00
root 76cfd9fee6 started on the 2 step register process 2025-10-04 18:52:44 +03:00
root d1bc362fab added yoga stuff, i18n, workout tracking and a dashboard to track progress 2025-10-04 17:55:30 +03:00
root 1ed9235451 favorites 2025-10-02 23:52:07 +03:00
root dee8c09298 changed workout of the week to favorites...what is workout of the week? is dump 2025-10-02 23:20:34 +03:00
root 5d8d08d2f4 first commit 2025-10-02 22:52:13 +03:00