Conversation
… file for our application
Extends the read-only imdb API into a full CRUD RESTful API: JWT auth, a user-generated content layer (watchlists/reviews/custom lists), and admin CRUD over the core IMDb entities, plus the cross-cutting changes (optimistic locking, cache invalidation, soft deletes) that go with it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nine-phase, bite-sized TDD plan covering JWT auth, admin CRUD over the core IMDb entities, and the new user-generated content layer (watchlists/ reviews/lists), plus the optimistic locking, soft-delete, and cache- eviction conventions the writes need. Self-review caught and fixed three gaps: missing user profile/admin-management endpoints, a missing title-search cache TTL reduction, and missing cache-eviction test coverage. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Registration, login, refresh, bootstrap admin, and full profile endpoints are live and tested.
Discovery queries now exclude soft-deleted titles and people; historical references stay intact.
…ction. Shorten title-search cache TTL to bound staleness from uncachable writes.
Covers create, update, patch, and delete behind admin role checks.
…ion. Verifies eviction reaches real Redis for title, rating, and person writes.
…ecks. Covers per-user watchlist CRUD plus public viewing of other users' lists.
Fixes a matcher ordering bug that made the reviews me endpoint public.
Completes all planned user-generated content resources for this expansion.
…ansion. Documents the new auth and user-content layers in the LLD and README.
Confirms springdoc-openapi 3.0.3 works against Spring Boot 4.1.0.
Breaks the work into three bite-sized, independently testable tasks.
Verified against a real Spring Security filter chain, not a mocked slice.
Static asset, no new dependency, served by Spring Boot by default.
Both read the same generated OpenAPI document at v3/api-docs.
…ation. Fixes duplicate auto-generated operationIds and adds bearer auth to docs UI.
Hard person pairs were already an accepted limitation, now reported honestly.
… Hikari pool sizing, three enum/schema drifts between the Testcontainers schema and the real imported database, and an admin id sequence colliding with orphaned imported rows. Every admin write endpoint now passes under simultaneous full-system load instead of failing 100 percent of the time.
…ment DB, cache, and controller spans. Every log line and a full Tempo trace shape verified live, not assumed.
…mpo trace to the README. Proof over claims: every observability/docs assertion now sits next to the screen it produced.
There was a problem hiding this comment.
Pull request overview
Adds a substantial “IMDb copycat” Spring Boot service: domain models + repositories + use-case layer, REST controllers, JWT-based security, database migrations (Flyway), caching decorators (Redis), plus an observability stack and a broad suite of unit/integration tests.
Changes:
- Introduces JWT authentication/authorization plumbing (filter, security config, ProblemDetail 401/403 responses) and related controller slice tests.
- Adds new features and persistence for watchlists, reviews, and custom lists (migrations + repositories/use-cases + caching + tests).
- Adds operational assets: Redoc static page, Testcontainers config, Grafana/Prometheus/Loki/Tempo provisioning, and k6 load-test scripts.
Reviewed changes
Copilot reviewed 223 out of 234 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| imdb/src/test/java/com/ludovictemgoua/imdb/TestImdbApplication.java | Test application bootstrap wiring. |
| imdb/src/test/java/com/ludovictemgoua/imdb/TestcontainersConfiguration.java | Shared Testcontainers beans for integration tests. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/WithSecurityConfig.java | Test annotation bundling security imports for slice tests. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/WatchlistControllerTest.java | Web MVC slice tests for watchlist endpoints + security behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/UserControllerTest.java | Web MVC slice tests for user endpoints + security behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/ReviewControllerTest.java | Web MVC slice tests for review endpoints + security behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/RequestTracingIntegrationTest.java | Integration test guarding traceId presence on request lifecycle logs. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/ListControllerTest.java | Web MVC slice tests for list endpoints + security behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/GenreControllerTest.java | Web MVC slice tests for the public top-rated-by-genre endpoint. |
| imdb/src/test/java/com/ludovictemgoua/imdb/presentation/AuthControllerTest.java | Web MVC slice tests for auth endpoints. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/security/JwtServiceTest.java | Unit tests for JWT issuance/parsing behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/security/JwtAuthenticationFilterTest.java | Unit tests for JWT filter populating SecurityContext. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/security/CurrentUserTest.java | Unit tests for extracting current user id from Authentication. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/security/BootstrapAdminRunnerIntegrationTest.java | Integration test verifying bootstrap admin creation on startup. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/JdbcWatchlistRepositoryIntegrationTest.java | Integration tests for watchlist persistence behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/JdbcUserRepositoryIntegrationTest.java | Integration tests for user persistence behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/JdbcReviewRepositoryIntegrationTest.java | Integration tests for review persistence behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/JdbcCustomListRepositoryIntegrationTest.java | Integration tests for custom list persistence behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/JdbcCoStarGraphRepositoryIntegrationTest.java | Integration tests for co-star graph shortest path repository. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/persistence/AdminIdSequencesIntegrationTest.java | Integration tests for admin id sequence behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/openapi/OpenApiIntegrationTest.java | Integration tests for OpenAPI/Swagger/Redoc endpoints accessibility. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTopRatedUseCaseTest.java | Unit test verifying caching behavior for top-rated use case. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTopRatedUseCaseIntegrationTest.java | Integration test verifying Redis serialization round-trip for top-rated cache. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleSearchUseCaseTest.java | Unit test verifying caching behavior for title search. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleSearchUseCaseIntegrationTest.java | Integration test verifying Redis serialization round-trip for title search cache. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleDetailUseCaseTest.java | Unit test verifying caching behavior for title detail. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleDetailUseCaseIntegrationTest.java | Integration test verifying Redis serialization round-trip for title detail cache. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingCoStarGraphRepositoryTest.java | Unit test verifying caching behavior for co-star graph. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingCoStarGraphRepositoryIntegrationTest.java | Integration test verifying Redis serialization round-trip for co-star cache. |
| imdb/src/test/java/com/ludovictemgoua/imdb/infrastructure/cache/CacheConfigIntegrationTest.java | Integration tests asserting cache TTL configuration. |
| imdb/src/test/java/com/ludovictemgoua/imdb/ImdbApplicationTests.java | Spring context smoke test with Testcontainers. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/WatchlistUseCaseImplTest.java | Unit tests for watchlist use-case rules. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/UserUseCaseImplTest.java | Unit tests for user use-case rules. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/TopRatedUseCaseImplTest.java | Unit tests for top-rated use-case defaults. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/TitleSearchUseCaseImplTest.java | Unit tests for title search delegation. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/TitleDetailUseCaseImplTest.java | Unit tests for assembling title detail view. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/TitleAdminUseCaseImplTest.java | Unit tests for title admin use-case behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/ReviewUseCaseImplTest.java | Unit tests for review use-case rules. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/PersonResolutionUseCaseTest.java | Unit tests for resolving people by id/name. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/PersonAdminUseCaseImplTest.java | Unit tests for person admin use-case behavior. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/ListUseCaseImplTest.java | Unit tests for list use-case authorization rules. |
| imdb/src/test/java/com/ludovictemgoua/imdb/application/AuthUseCaseImplTest.java | Unit tests for auth use-case register/login/refresh. |
| imdb/src/main/resources/static/redoc.html | Adds Redoc static UI page for OpenAPI docs. |
| imdb/src/main/resources/db/migration/V9__reviews.sql | Flyway migration for reviews table + unique index. |
| imdb/src/main/resources/db/migration/V8__watchlists.sql | Flyway migration for watchlists + items tables. |
| imdb/src/main/resources/db/migration/V7__core_entity_version_and_soft_delete.sql | Adds versioning + soft-delete columns to core tables. |
| imdb/src/main/resources/db/migration/V6__admin_id_sequences.sql | Creates admin id sequences for titles/people. |
| imdb/src/main/resources/db/migration/V5__users_table.sql | Flyway migration for users table + unique index. |
| imdb/src/main/resources/db/migration/V4__title_principals_nconst_index.sql | Adds non-partial index to speed common-title enrichment. |
| imdb/src/main/resources/db/migration/V2__co_star_edges_materialized_view.sql | Builds co-star graph materialized view + index. |
| imdb/src/main/resources/db/migration/V11__fix_admin_id_sequence_baselines.sql | Fixes admin sequence baselines to avoid collisions from orphan references. |
| imdb/src/main/resources/db/migration/V10__lists.sql | Flyway migration for custom lists + items. |
| imdb/src/main/resources/db/migration/V1__extensions_and_search_indexes.sql | Postgres extensions + search indexes + db-level gin tuning. |
| imdb/src/main/resources/db/migration/V0__base_schema.sql | Base schema (tables + enums). |
| imdb/src/main/java/com/ludovictemgoua/imdb/utils/ImdbIds.java | Utility to parse/format IMDb-style ids (tt/nm). |
| imdb/src/main/java/com/ludovictemgoua/imdb/utils/HeaderSanitizer.java | Redacts sensitive headers before logging. |
| imdb/src/main/java/com/ludovictemgoua/imdb/presentation/GenreController.java | Public endpoint for genre-scoped top-rated titles. |
| imdb/src/main/java/com/ludovictemgoua/imdb/presentation/AuthController.java | Auth API endpoints (register/login/refresh). |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/SecurityConfig.java | Spring Security filter chain + matcher ordering and permit rules. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/ProblemDetailAuthenticationEntryPoint.java | ProblemDetail-formatted 401 responses. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/ProblemDetailAccessDeniedHandler.java | ProblemDetail-formatted 403 responses. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/JwtService.java | JWT issuance/parsing service. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/JwtAuthenticationFilter.java | Bearer token filter that populates SecurityContext. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/CurrentUser.java | Helper for extracting user id from Authentication. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/security/BootstrapAdminRunner.java | Startup runner to create a bootstrap admin user. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/observability/ObservabilityWebMvcConfig.java | Wires controller observation interceptor with NOOP fallback for slices. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/observability/ControllerObservationInterceptor.java | Creates controller-method spans via Micrometer Observation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTopRatedUseCase.java | Cache decorator for top-rated use case. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleSearchUseCase.java | Cache decorator for title search use case. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingTitleDetailUseCase.java | Cache decorator for title detail use case. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingReviewUseCase.java | Cache eviction around review writes affecting title detail cache. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingPersonAdminUseCase.java | Cache eviction policy for person admin writes affecting six-degrees results. |
| imdb/src/main/java/com/ludovictemgoua/imdb/infrastructure/cache/CachingCoStarGraphRepository.java | Cache decorator for co-star shortest path repository. |
| imdb/src/main/java/com/ludovictemgoua/imdb/ImdbApplication.java | Main Spring Boot application entrypoint. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/WriteResult.java | Shared write outcome enum for versioned updates/deletes. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/WatchlistRepository.java | Watchlist repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/UserRepository.java | User repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/TitleRepository.java | Title repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/ReviewRepository.java | Review repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/PersonRepository.java | Person repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/CustomListRepository.java | Custom list repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/repository/CoStarGraphRepository.java | Co-star graph repository interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/WatchlistView.java | Watchlist view DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/WatchlistItemView.java | Watchlist item view DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/Visibility.java | Visibility enum. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/UserProfile.java | User profile DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/User.java | User domain model. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/TitleSummary.java | Title summary DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/TitleDetail.java | Title detail DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/TitleCore.java | Title core DTO/domain model. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/SharedTitle.java | Shared-title DTO for six-degrees enrichment. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/Role.java | Role enum. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/Review.java | Review domain model. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/RatingView.java | IMDb rating view DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/RatingAggregate.java | Aggregate rating DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PublicUserProfile.java | Public user profile DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PrincipalCredit.java | Principal credit DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PersonResolution.java | Sealed interface representing person resolution outcomes. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PersonCore.java | Person core DTO/domain model. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PersonCandidate.java | Person search candidate DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/PagedResult.java | Generic paged result DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/ListItemView.java | List item view DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/GraphPath.java | Graph path result DTO for six-degrees. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/GenreTopRatedItem.java | Top-rated item DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/CustomListView.java | Custom list view DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/CustomList.java | Custom list domain model. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/CreditedPerson.java | Credited person DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/model/CastMember.java | Cast member DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/exception/NotFoundException.java | Domain exception type. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/exception/ForbiddenException.java | Domain exception type. |
| imdb/src/main/java/com/ludovictemgoua/imdb/domain/exception/ConflictException.java | Domain exception type. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/WatchlistUseCaseImpl.java | Watchlist use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/VisibilityRequest.java | Request DTO for visibility updates. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/UserUseCaseImpl.java | User use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/UpdateTitleRequest.java | Title update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/UpdateProfileRequest.java | Profile update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/UpdatePersonRequest.java | Person update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/UpdateListRequest.java | List update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/TopRatedUseCaseImpl.java | Top-rated use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/TokenPair.java | Access/refresh token pair DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/TitleSearchUseCaseImpl.java | Title search use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/TitleDetailUseCaseImpl.java | Title detail use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/SixDegreesResult.java | Six-degrees response DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/RoleRequest.java | Role update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/ReviewUseCaseImpl.java | Review use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/ReviewRequest.java | Review create/update request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/RegisterRequest.java | Register request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/RatingRequest.java | Rating upsert request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PrincipalRequest.java | Principal request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PersonResolutionUseCase.java | Internal person resolution collaborator for six-degrees. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PersonRef.java | Person reference DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PersonAdminUseCaseImpl.java | Person admin use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PathStep.java | Six-degrees path step DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PatchTitleRequest.java | Title merge-patch request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/PatchPersonRequest.java | Person merge-patch request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/LoginRequest.java | Login request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/CrewRequest.java | Crew upsert request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/CreateTitleRequest.java | Title create request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/CreatePersonRequest.java | Person create request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/CreateListRequest.java | List create request DTO with validation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/WatchlistUseCase.java | Watchlist use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/UserUseCase.java | User use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/TopRatedUseCase.java | Top-rated use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/TitleSearchUseCase.java | Title search use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/TitleDetailUseCase.java | Title detail use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/TitleAdminUseCase.java | Title admin use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/SixDegreesUseCase.java | Six-degrees use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/SixDegreesOutcome.java | Six-degrees outcome sealed interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/ReviewUseCase.java | Review use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/PersonAdminUseCase.java | Person admin use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/ListUseCase.java | List use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/contracts/AuthUseCase.java | Auth use-case interface. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/AuthUseCaseImpl.java | Auth use-case implementation. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/AddWatchlistItemRequest.java | Watchlist item add request DTO. |
| imdb/src/main/java/com/ludovictemgoua/imdb/application/AddListItemRequest.java | List item add request DTO. |
| imdb/observability/tempo/tempo.yaml | Tempo config for traces storage. |
| imdb/observability/prometheus/prometheus.yml | Prometheus scrape configuration. |
| imdb/observability/grafana/provisioning/datasources/datasources.yml | Grafana datasources provisioning. |
| imdb/observability/grafana/provisioning/dashboards/json/six-degrees-latency.json | Grafana dashboard for six-degrees latency breakdown. |
| imdb/observability/grafana/provisioning/dashboards/json/k6-load-test.json | Grafana dashboard for k6 load test metrics. |
| imdb/observability/grafana/provisioning/dashboards/json/http-overview.json | Grafana dashboard for HTTP overview. |
| imdb/observability/grafana/provisioning/dashboards/json/cache-hit-ratio.json | Grafana dashboard for cache hit ratio metrics. |
| imdb/observability/grafana/provisioning/dashboards/dashboards.yml | Grafana dashboards provisioning provider config. |
| imdb/observability/alloy/config.alloy | Grafana Alloy config for Docker log shipping to Loki. |
| imdb/k6/top-rated.js | k6 load test script for top-rated endpoint. |
| imdb/k6/title-detail.js | k6 load test script for title detail endpoint (with setup sampling). |
| imdb/k6/search.js | k6 load test script for title search endpoint. |
| imdb/k6/data/generate-sampled-people.sql | SQL helper to generate load-test sampled people list. |
| imdb/docs/REQUIREMENTS.md | Requirements/design documentation for the project scope. |
| imdb/Dockerfile | Multi-stage build for the service container image. |
| imdb/docker-compose.e2e.yaml | E2E Compose stack for CI-style seed + service run. |
| imdb/.mvn/wrapper/maven-wrapper.properties | Maven wrapper configuration. |
| imdb/.gitignore | Module-level gitignore. |
| imdb/.gitattributes | Git attributes for line endings. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+16
to
+18
| LgtmStackContainer grafanaLgtmContainer() { | ||
| return new LgtmStackContainer(DockerImageName.parse("grafana/otel-lgtm:latest")); | ||
| } |
…otee. imdb leads with screenshots since it is the most recent and complete project.
…e as bearer tokens and access tokens could be redeemed at refresh. Pin floating Testcontainers image tags and remove Redoc entirely instead of pinning its CDN script. Both attack vectors verified closed live against the running service; two false-positive Jackson import findings verified and left as is.
… PersonRef which the earlier move had left behind. Verified with a full test run and a live combined load test against the rebuilt image; admin write errors stayed at zero.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.