Commit Graph

24 Commits

Author SHA1 Message Date
Robert van Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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 Diest
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