-
7ba4b39ced
feat: add Dockerfile, .dockerignore, and README; remove common crate
Gabriel Kaszewski
2026-05-04 15:19:29 +02:00
-
7e7c1ee1f4
Refactor movie review logging and resolution strategies
Gabriel Kaszewski
2026-05-04 15:08:04 +02:00
-
7913b3e0e5
fix(tests): add missing trait methods to PanicRepo mocks
Gabriel Kaszewski
2026-05-04 14:37:48 +02:00
-
39ac5a0c50
fix(presentation): restore user_id in get_new_review_page for nav bar
Gabriel Kaszewski
2026-05-04 14:34:46 +02:00
-
36f3a9c44b
fix(presentation): pass None user_id for non-diary page contexts
Gabriel Kaszewski
2026-05-04 14:32:30 +02:00
-
7c704f39b3
feat(template): add user_id to HtmlPageContext and delete button to diary
Gabriel Kaszewski
2026-05-04 14:31:12 +02:00
-
6d71da9f1e
fix(presentation): use {id} syntax in delete review route
Gabriel Kaszewski
2026-05-04 14:29:24 +02:00
-
977a8ed8fd
feat(presentation): add POST /reviews/:id/delete handler and route
Gabriel Kaszewski
2026-05-04 14:27:43 +02:00
-
f74a36a16f
feat(presentation): add DELETE /api/reviews/:id handler and route
Gabriel Kaszewski
2026-05-04 14:24:48 +02:00
-
8d7700995d
feat(sqlite): implement get_review_by_id, delete_review, delete_movie
Gabriel Kaszewski
2026-05-04 14:21:25 +02:00
-
de84bb7331
feat(application): add DeleteReviewCommand and delete_review use case
Gabriel Kaszewski
2026-05-04 14:17:13 +02:00
-
4c38724d93
feat(domain): add get_review_by_id to MovieRepository
Gabriel Kaszewski
2026-05-04 14:15:04 +02:00
-
c8cf2f2836
feat(gitignore): add .superpowers and docs/ to .gitignore
Gabriel Kaszewski
2026-05-04 14:00:56 +02:00
-
6e50b64245
feat(database): remove unused SQL queries and update Cargo dependencies
Gabriel Kaszewski
2026-05-04 14:00:33 +02:00
-
528a16a235
feat(css): add monospace minimal stylesheet
Gabriel Kaszewski
2026-05-04 13:38:57 +02:00
-
8ee54817d7
feat(routes): replace /diary with /, add login/logout/register/reviews/new routes
Gabriel Kaszewski
2026-05-04 13:38:19 +02:00
-
5c0be8b2ca
feat(handlers): add HTML handlers for login, logout, register, new review, diary index
Gabriel Kaszewski
2026-05-04 13:38:16 +02:00
-
17be6f529a
feat(dtos): add LoginForm, RegisterForm, ErrorQuery
Gabriel Kaszewski
2026-05-04 13:38:14 +02:00
-
7560ff8ac5
feat(extractors): add OptionalCookieUser and RequiredCookieUser
Gabriel Kaszewski
2026-05-04 13:34:31 +02:00
-
2a4f1585dc
feat(templates): add base layout, login, register, new_review templates; update diary
Gabriel Kaszewski
2026-05-04 13:30:33 +02:00
-
37c7c77399
feat(domain): add find_by_id to UserRepository + SQLite impl
Gabriel Kaszewski
2026-05-04 13:28:20 +02:00
-
657e9d443d
feat(ports): extend HtmlRenderer with page context and new render methods
Gabriel Kaszewski
2026-05-04 13:20:30 +02:00
-
5e1489058d
docs: add frontend HTML design spec
Gabriel Kaszewski
2026-05-04 13:19:21 +02:00
-
b7f4855ba3
fix(database): update database connection to use DATABASE_URL with SqliteConnectOptions
Gabriel Kaszewski
2026-05-04 12:54:28 +02:00
-
494c907729
feat(wiring): wire PosterSyncHandler into event channel in main.rs
Gabriel Kaszewski
2026-05-04 12:44:53 +02:00
-
fb27e23861
fix(event-handlers): expect over unwrap, panic-stub comment, fix deprecated chrono call
Gabriel Kaszewski
2026-05-04 12:42:03 +02:00
-
7ab7561133
feat(presentation): implement PosterSyncHandler with retry
Gabriel Kaszewski
2026-05-04 12:37:57 +02:00
-
5fffdc93c7
feat(application): derive Clone on SyncPosterCommand
Gabriel Kaszewski
2026-05-04 12:35:10 +02:00
-
e17082b11d
test(event-publisher): fix flaky sleep synchronization in EventWorker tests
Gabriel Kaszewski
2026-05-04 12:34:29 +02:00
-
c37c79ac6c
feat(event-publisher): add EventHandler trait and fan-out in EventWorker
Gabriel Kaszewski
2026-05-04 12:32:44 +02:00
-
bda0531797
feat(event-publisher): add event publisher adapter with configuration and integration
Gabriel Kaszewski
2026-05-04 12:30:42 +02:00
-
a13481cb69
docs: event-driven poster sync implementation plan
Gabriel Kaszewski
2026-05-04 12:30:20 +02:00
-
6f21e8f8a2
docs: event-driven poster sync design spec
Gabriel Kaszewski
2026-05-04 12:24:52 +02:00
-
992a1a2674
feat(rss): implement RSS feed adapter and integrate with application state
Gabriel Kaszewski
2026-05-04 12:03:17 +02:00
-
c1c61ad19b
feat(poster-fetcher): add poster fetcher adapter with configuration and integration
Gabriel Kaszewski
2026-05-04 11:51:20 +02:00
-
00c0b940bc
feat(poster-storage): implement S3/Minio storage adapter and configuration
Gabriel Kaszewski
2026-05-04 11:44:44 +02:00
-
bd160e3861
feat(log_review): add manual title resolution for movie lookup
Gabriel Kaszewski
2026-05-04 11:24:18 +02:00
-
e78216b404
feat(metadata): Implement OMDB metadata provider and refactor metadata client
Gabriel Kaszewski
2026-05-04 11:19:51 +02:00
-
1f8b24fec2
feat(auth): implement JWT authentication and user registration
Gabriel Kaszewski
2026-05-04 10:43:07 +02:00
-
98ad1b19fa
refactor(tests): remove unused models from api_test
Gabriel Kaszewski
2026-05-04 09:35:54 +02:00
-
60d0d68266
cargo lock
Gabriel Kaszewski
2026-05-04 09:30:58 +02:00
-
0d7a0cc712
presentation wiring
Gabriel Kaszewski
2026-05-04 09:30:20 +02:00
-
4a9bb5f264
chore: ignore .worktrees/ directory
Gabriel Kaszewski
2026-05-04 02:43:32 +02:00
-
d2c8886bb0
feat(presentation): add initial structure with dtos, errors, extractors, handlers, and routes modules
Gabriel Kaszewski
2026-05-04 02:11:33 +02:00
-
408f21b7ec
refactor(template-askama): clean up comments and improve code readability
Gabriel Kaszewski
2026-05-04 02:05:13 +02:00
-
9cc2d3dd7a
feat(template-askama): add Askama template adapter for diary entries
Gabriel Kaszewski
2026-05-04 02:04:52 +02:00
-
1823756fc1
feat(sqlite): implement movie and review management with migrations
Gabriel Kaszewski
2026-05-04 01:59:52 +02:00
-
c70a17fb38
Add SQLite repository implementation and update domain models for persistence
Gabriel Kaszewski
2026-05-04 01:34:52 +02:00
-
b026a184c2
application layer
Gabriel Kaszewski
2026-05-04 01:19:59 +02:00
-
810bad1126
init domain
Gabriel Kaszewski
2026-05-04 00:26:10 +02:00