Commit Graph
24 Commits
Author SHA1 Message Date
Robert van DiestandClaude Sonnet 4.6 da698224a7 fix(docker): pull node and nginx from ECR Public mirror
GitHub Actions runner IP is banned from Docker Hub. Using
public.ecr.aws/docker/library as a temporary workaround.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:04:41 +01:00
Robert van DiestandClaude Sonnet 4.6 72751f6491 fix(docker): prefix compose image names with localhost to prevent Docker Hub lookups
randall/frontend and randall/backend were being resolved as docker.io
paths, causing unwanted registry auth attempts. The localhost/ prefix
marks them as local-only images. Also restores docker/setup-buildx-action
with the docker driver, and reverts the ECR Public mirror workaround
since it was never the root cause.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:02:40 +01:00
Robert van DiestandClaude Sonnet 4.6 a7ad3d6ebf fix(docker): pull node and nginx from ECR Public mirror
Avoids Docker Hub rate limits and auth issues in CI by using
public.ecr.aws/docker/library instead of docker.io.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:00:06 +01:00
Robert van DiestandClaude Sonnet 4.6 b09b40b888 chore(ci): remove docker/setup-buildx-action step
BuildKit is enabled by default on ubuntu-latest runners.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:56:36 +01:00
Robert van DiestandClaude Sonnet 4.6 bc64d2ad5c fix(ci): use docker driver for buildx to avoid Docker Hub auth
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:54:07 +01:00
Robert van DiestandClaude Sonnet 4.6 106acedce8 refactor(domain): introduce ReservationFactory for reconstitution
Replace the Reconstitute static method on Reservation with a dedicated
ReservationFactory class. The reconstitution constructor is now internal,
restricting direct instantiation to within the domain assembly while
keeping the factory as the explicit entry point for rehydrating from storage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:49:28 +01:00
Robert van DiestandClaude Sonnet 4.6 649c11b21a refactor(persistence): separate storage models from domain entities
Introduce dedicated *Record POCOs (ReservationRecord, UserRecord,
WorkplaceRecord) as EF Core targets, keeping domain entities free of
persistence concerns. Static mapper classes handle conversion between
layers, and repositories track (domain, record) pairs to sync mutations
back before saving. Domain entities gain Reconstitute() factory methods
to bypass validation when rehydrating from storage.

Also fixes GetByEmployeeAsync to exclude past reservations (Date >= today).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:45:20 +01:00
Robert van DiestandClaude Sonnet 4.6 4c71a1b4c8 chore(docker): optimize builds and name images
- Add BuildKit cache mounts for NuGet and npm to persist package
  caches across builds
- Skip redundant restore on dotnet publish with --no-restore
- Add --prefer-offline to npm ci to prefer cached tarballs
- Tag images as randall/backend:latest and randall/frontend:latest
  via compose image: key

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:21:13 +01:00
Robert van DiestandClaude Sonnet 4.6 cba080acfe chore(git): add Claude-specific gitignore entries
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:06:01 +01:00
Robert van DiestandClaude Sonnet 4.6 d28daa8361 chore(claude): add custom /commit slash command
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:01:44 +01:00
Robert van DiestandClaude Sonnet 4.6 5677e4626f chore(claude): remove local settings file
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:00:34 +01:00
Robert van Diest 51b9e5c1e7 Use tcp health check 2026-03-25 20:11:26 +01:00
Robert van Diest c135fec753 Enable parallel build 2026-03-25 20:05:32 +01:00
Robert van Diest 55a72ba55f Don't reseed on non empty database 2026-03-25 20:02:28 +01:00
Robert van Diest 007c4a21cf Add readme 2026-03-25 19:57:19 +01:00
Robert van Diest 8bf20aa0f2 Fix broken project reference 2026-03-25 19:47:01 +01:00
Robert van Diest 4fcd0d60f4 Add integration tests 2026-03-25 19:44:53 +01:00
Robert van Diest ac37afdcee Move test project to its own directory 2026-03-25 19:33:15 +01:00
Robert van Diest ed293a57be Add unittests 2026-03-25 19:22:25 +01:00
Robert van Diest 3219b3a14d Allow deletion of admins 2026-03-25 19:14:02 +01:00
Robert van Diest 83d2ad02d0 Combine actions into 1 with separate jobs 2026-03-24 21:08:14 +01:00
Robert van Diest b13d6c7968 Disable parallel build 2026-03-24 20:58:10 +01:00
Robert van Diest b99dcccdb3 Add deployment 2026-03-24 20:37:57 +01:00
Robert van Diest 1301a01d6d Initial commit 2026-03-24 20:13:07 +01:00