-
7a66661932
css
master
Gabriel Kaszewski
2026-05-04 23:24:04 +02:00
-
b30a6a102b
feat: per-page titles, OG/SEO tags, HOST/PORT env vars, BASE_URL in config
Gabriel Kaszewski
2026-05-04 22:38:58 +02:00
-
38a3aa6bbf
fix: update .gitignore to include db-shm and db-wal files
Gabriel Kaszewski
2026-05-04 22:23:08 +02:00
-
3135a15cb3
fix: WAL mode + busy_timeout for SQLite, fix rate limiter TOCTOU race
Gabriel Kaszewski
2026-05-04 22:10:19 +02:00
-
d083f8ae3d
refactor: use constant for minimum password length and API rate limit
Gabriel Kaszewski
2026-05-04 21:41:07 +02:00
-
874c406d4a
fix: security hardening — SameSite=Strict, Secure cookie flag, password min length, generic registration error, auth rate limiting
Gabriel Kaszewski
2026-05-04 21:38:23 +02:00
-
78e1f4ef72
clean up
Gabriel Kaszewski
2026-05-04 21:24:44 +02:00
-
cf74b06b4a
fix: use pixel bar heights and show avg rating values in trends chart
Gabriel Kaszewski
2026-05-04 21:22:47 +02:00
-
317898d51b
fix: count distinct movies per user in users list, not total reviews
Gabriel Kaszewski
2026-05-04 21:10:32 +02:00
-
790bb6fbb5
fix: read BASE_URL from env for RSS channel link
Gabriel Kaszewski
2026-05-04 21:06:51 +02:00
-
658df38788
fix: move rss_url after user lookup, extract RSS_FEED_LIMIT constant
Gabriel Kaszewski
2026-05-04 21:05:08 +02:00
-
cff0f854fa
feat: point RSS nav link to user feed when on profile page
Gabriel Kaszewski
2026-05-04 21:00:31 +02:00
-
66ade70273
feat: add GET /users/{id}/feed.rss per-user RSS feed handler
Gabriel Kaszewski
2026-05-04 20:58:20 +02:00
-
cbd2ac5b3e
feat: add rss_url to HtmlPageContext, use it in nav
Gabriel Kaszewski
2026-05-04 20:55:31 +02:00
-
0433cd4d9b
fix: remove unused feed_title from RssAdapter
Gabriel Kaszewski
2026-05-04 20:54:32 +02:00
-
b5a8ea2395
feat: add title param to render_feed, use dynamic title in RSS adapter
Gabriel Kaszewski
2026-05-04 20:52:07 +02:00
-
49b79799c1
feat: add user_id filter to GetDiaryQuery and get_diary use case
Gabriel Kaszewski
2026-05-04 20:49:31 +02:00
-
f4aba551a2
fix: derive heatmap color from primary instead of hardcoded blue
Gabriel Kaszewski
2026-05-04 20:38:13 +02:00
-
91df35dbd3
fix: count distinct movies in user stats, not total reviews
Gabriel Kaszewski
2026-05-04 20:35:48 +02:00
-
623f90e43f
fix: remove timezone-broken future-date check from Review::new
Gabriel Kaszewski
2026-05-04 20:29:11 +02:00
-
e28f628c80
fix: remove redundant 'common' section from documentation
Gabriel Kaszewski
2026-05-04 20:28:06 +02:00
-
60c25d4c24
fix: update test assertion for new default page limit
Gabriel Kaszewski
2026-05-04 20:18:04 +02:00
-
22aafe99be
fix: set domain DEFAULT_LIMIT to 5 for pagination
Gabriel Kaszewski
2026-05-04 20:16:18 +02:00
-
0ff22cca5f
fix: remove email from top bar nav
Gabriel Kaszewski
2026-05-04 20:13:14 +02:00
-
ccc39e27e4
fix: lower default page limit to 5
Gabriel Kaszewski
2026-05-04 20:11:55 +02:00
-
76319756f4
feat: add chrono dependency to Cargo.lock
Gabriel Kaszewski
2026-05-04 19:48:40 +02:00
-
7703227970
fix: add missing trait stubs to test mock impls
Gabriel Kaszewski
2026-05-04 19:23:56 +02:00
-
b9933bb48d
feat: add profile/feed/chart CSS styles
Gabriel Kaszewski
2026-05-04 19:17:39 +02:00
-
0c48708ce6
fix: has_more overflow, magic constant, remove dead get_index handler
Gabriel Kaszewski
2026-05-04 19:15:42 +02:00
-
a2a889bced
feat: wire activity feed, users list, and profile page handlers
Gabriel Kaszewski
2026-05-04 19:12:06 +02:00
-
a4846f3bea
fix: pagination underflow, remove |safe, move bar_height_pct to adapter
Gabriel Kaszewski
2026-05-04 19:09:28 +02:00
-
27be840faa
fix: adjust domain accessors and template adapter for Askama compatibility
Gabriel Kaszewski
2026-05-04 19:03:48 +02:00
-
965fc0eda8
feat: add activity feed, users, and profile HTML templates
Gabriel Kaszewski
2026-05-04 19:03:44 +02:00
-
d700b85337
fix: correct relative_time future guard, heatmap exact match, max clarity
Gabriel Kaszewski
2026-05-04 18:57:17 +02:00
-
ffbab75910
feat: add Askama template structs for feed/users/profile
Gabriel Kaszewski
2026-05-04 18:55:18 +02:00
-
dda7c40f7f
fix: validate view param, document V1 history load
Gabriel Kaszewski
2026-05-04 18:53:26 +02:00
-
1b827b1bdd
feat: add activity feed/users/profile use cases and port methods
Gabriel Kaszewski
2026-05-04 18:48:16 +02:00
-
1ee6873a60
fix: address code review issues in SQLite adapter
Gabriel Kaszewski
2026-05-04 18:46:31 +02:00
-
7352b533ff
feat: implement feed/stats/history/trends SQLite queries
Gabriel Kaszewski
2026-05-04 18:42:45 +02:00
-
85e254fee2
feat: impl UserRepository::list_with_stats
Gabriel Kaszewski
2026-05-04 18:40:58 +02:00
-
fa8221322d
feat: add feed/stats SQLite row types
Gabriel Kaszewski
2026-05-04 18:32:59 +02:00
-
38da37de55
feat: add feed/profile/stats port methods to repositories
Gabriel Kaszewski
2026-05-04 18:30:01 +02:00
-
f3dedbad8a
fix: use UserId newtype in UserSummary instead of raw Uuid
Gabriel Kaszewski
2026-05-04 18:29:10 +02:00
-
d468ce131f
feat: add feed/profile domain models, extend DiaryFilter
Gabriel Kaszewski
2026-05-04 18:26:55 +02:00
-
d034af9e9c
feat: update color scheme to use primary variables for consistency in styling
Gabriel Kaszewski
2026-05-04 17:47:00 +02:00
-
59d308f41b
feat: enhance movie rating display with star icons and improved styling
Gabriel Kaszewski
2026-05-04 15:43:02 +02:00
-
bbb2ee00d6
feat: enhance styling and layout; add background image and improve UI elements
Gabriel Kaszewski
2026-05-04 15:39:15 +02:00
-
5dd9aac68d
feat: add Dockerfile, .dockerignore, and README; remove common crate
Gabriel Kaszewski
2026-05-04 15:19:29 +02:00
-
6dcc4c8317
Refactor movie review logging and resolution strategies
Gabriel Kaszewski
2026-05-04 15:08:04 +02:00
-
e31d99a240
fix(tests): add missing trait methods to PanicRepo mocks
Gabriel Kaszewski
2026-05-04 14:37:48 +02:00
-
41fec1efa5
fix(presentation): restore user_id in get_new_review_page for nav bar
Gabriel Kaszewski
2026-05-04 14:34:46 +02:00
-
160c08d1c4
fix(presentation): pass None user_id for non-diary page contexts
Gabriel Kaszewski
2026-05-04 14:32:30 +02:00
-
7aa6d7bf4d
feat(template): add user_id to HtmlPageContext and delete button to diary
Gabriel Kaszewski
2026-05-04 14:31:12 +02:00
-
144f2f8e0c
fix(presentation): use {id} syntax in delete review route
Gabriel Kaszewski
2026-05-04 14:29:24 +02:00
-
cff64f7a6b
feat(presentation): add POST /reviews/:id/delete handler and route
Gabriel Kaszewski
2026-05-04 14:27:43 +02:00
-
5baff54cb9
feat(presentation): add DELETE /api/reviews/:id handler and route
Gabriel Kaszewski
2026-05-04 14:24:48 +02:00
-
f94d2db8b1
feat(sqlite): implement get_review_by_id, delete_review, delete_movie
Gabriel Kaszewski
2026-05-04 14:21:25 +02:00
-
48875a6e86
feat(application): add DeleteReviewCommand and delete_review use case
Gabriel Kaszewski
2026-05-04 14:17:13 +02:00
-
9387ae705b
feat(domain): add get_review_by_id to MovieRepository
Gabriel Kaszewski
2026-05-04 14:15:04 +02:00
-
9871e21bc0
feat(gitignore): add .superpowers and docs/ to .gitignore
Gabriel Kaszewski
2026-05-04 14:00:56 +02:00
-
fa8efbaa23
feat(database): remove unused SQL queries and update Cargo dependencies
Gabriel Kaszewski
2026-05-04 14:00:33 +02:00
-
d769a5b55c
feat(css): add monospace minimal stylesheet
Gabriel Kaszewski
2026-05-04 13:38:57 +02:00
-
8e1fb1a974
feat(routes): replace /diary with /, add login/logout/register/reviews/new routes
Gabriel Kaszewski
2026-05-04 13:38:19 +02:00
-
6145b873f5
feat(handlers): add HTML handlers for login, logout, register, new review, diary index
Gabriel Kaszewski
2026-05-04 13:38:16 +02:00
-
cc668ae44d
feat(dtos): add LoginForm, RegisterForm, ErrorQuery
Gabriel Kaszewski
2026-05-04 13:38:14 +02:00
-
e5097c22dd
feat(extractors): add OptionalCookieUser and RequiredCookieUser
Gabriel Kaszewski
2026-05-04 13:34:31 +02:00
-
450468ef3d
feat(templates): add base layout, login, register, new_review templates; update diary
Gabriel Kaszewski
2026-05-04 13:30:33 +02:00
-
6e7c6467a7
feat(domain): add find_by_id to UserRepository + SQLite impl
Gabriel Kaszewski
2026-05-04 13:28:20 +02:00
-
7f815f8207
feat(ports): extend HtmlRenderer with page context and new render methods
Gabriel Kaszewski
2026-05-04 13:20:30 +02:00
-
5df89200d4
docs: add frontend HTML design spec
Gabriel Kaszewski
2026-05-04 13:19:21 +02:00
-
eb273dc277
fix(database): update database connection to use DATABASE_URL with SqliteConnectOptions
Gabriel Kaszewski
2026-05-04 12:54:28 +02:00
-
5689db0ad7
feat(wiring): wire PosterSyncHandler into event channel in main.rs
Gabriel Kaszewski
2026-05-04 12:44:53 +02:00
-
5c70b8b8be
fix(event-handlers): expect over unwrap, panic-stub comment, fix deprecated chrono call
Gabriel Kaszewski
2026-05-04 12:42:03 +02:00
-
4c547df04e
feat(presentation): implement PosterSyncHandler with retry
Gabriel Kaszewski
2026-05-04 12:37:57 +02:00
-
602df8df22
feat(application): derive Clone on SyncPosterCommand
Gabriel Kaszewski
2026-05-04 12:35:10 +02:00
-
5b69a3a7c0
test(event-publisher): fix flaky sleep synchronization in EventWorker tests
Gabriel Kaszewski
2026-05-04 12:34:29 +02:00
-
a38f78d261
feat(event-publisher): add EventHandler trait and fan-out in EventWorker
Gabriel Kaszewski
2026-05-04 12:32:44 +02:00
-
17f90726e8
feat(event-publisher): add event publisher adapter with configuration and integration
Gabriel Kaszewski
2026-05-04 12:30:42 +02:00
-
563f33212e
docs: event-driven poster sync implementation plan
Gabriel Kaszewski
2026-05-04 12:30:20 +02:00
-
8e5ac9f433
docs: event-driven poster sync design spec
Gabriel Kaszewski
2026-05-04 12:24:52 +02:00
-
f790fa2a0f
feat(rss): implement RSS feed adapter and integrate with application state
Gabriel Kaszewski
2026-05-04 12:03:17 +02:00
-
edcf3c1170
feat(poster-fetcher): add poster fetcher adapter with configuration and integration
Gabriel Kaszewski
2026-05-04 11:51:20 +02:00
-
1985d2c57f
feat(poster-storage): implement S3/Minio storage adapter and configuration
Gabriel Kaszewski
2026-05-04 11:44:44 +02:00
-
f0b3d8ad90
feat(log_review): add manual title resolution for movie lookup
Gabriel Kaszewski
2026-05-04 11:24:18 +02:00
-
da72ab1446
feat(metadata): Implement OMDB metadata provider and refactor metadata client
Gabriel Kaszewski
2026-05-04 11:19:51 +02:00
-
93c65cd155
feat(auth): implement JWT authentication and user registration
Gabriel Kaszewski
2026-05-04 10:43:07 +02:00
-
ba42d3d445
refactor(tests): remove unused models from api_test
Gabriel Kaszewski
2026-05-04 09:35:54 +02:00
-
819332522a
cargo lock
Gabriel Kaszewski
2026-05-04 09:30:58 +02:00
-
79a06e6844
presentation wiring
Gabriel Kaszewski
2026-05-04 09:30:20 +02:00
-
97a496553a
chore: ignore .worktrees/ directory
Gabriel Kaszewski
2026-05-04 02:43:32 +02:00
-
5a58625265
feat(presentation): add initial structure with dtos, errors, extractors, handlers, and routes modules
Gabriel Kaszewski
2026-05-04 02:11:33 +02:00
-
6d9ac07dfc
refactor(template-askama): clean up comments and improve code readability
Gabriel Kaszewski
2026-05-04 02:05:13 +02:00
-
b6a7cf9417
feat(template-askama): add Askama template adapter for diary entries
Gabriel Kaszewski
2026-05-04 02:04:52 +02:00
-
c4b39c9410
feat(sqlite): implement movie and review management with migrations
Gabriel Kaszewski
2026-05-04 01:59:52 +02:00
-
f60cc368b6
Add SQLite repository implementation and update domain models for persistence
Gabriel Kaszewski
2026-05-04 01:34:52 +02:00
-
65bab7fd44
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