From 8eecd06fb86cd98db031b40cdd2972b5595a3a8b Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Fri, 10 Jul 2026 00:05:36 +0200 Subject: [PATCH] docs: update README + architecture for WatchMedium and review editing --- README.md | 4 ++-- architecture.mmd | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8aa0949..93b2502 100644 --- a/README.md +++ b/README.md @@ -47,8 +47,8 @@ Open `http://localhost:3000`. The HTTP server and background worker start togeth ## Features -- Log movies with a TMDB/OMDb ID or manual title/year/director, with a 0–5 rating -- Immutable append-only viewing ledger (tracks re-watches) +- Log movies with a TMDB/OMDb ID or manual title/year/director, with a 0–5 rating and optional watch medium (cinema, streaming, TV, physical media, download, media server) +- Edit reviews after the fact — update rating, comment, date, or watch medium via partial PATCH; each watch is still a separate record (re-watches tracked) - Background poster fetching and storage (local filesystem or S3-compatible) - Movie enrichment via TMDb — full cast, crew, genres, keywords, runtime, budget/revenue, ratings; fetched automatically on movie discovery and refreshed every 30 days; exposed via `GET /api/v1/movies/{id}/profile` - Full-text search across movies and people via `GET /api/v1/search` — free-text query plus structured filters (genre, year, person, department, language); backed by SQLite FTS5 or PostgreSQL tsvector + GIN indexes diff --git a/architecture.mmd b/architecture.mmd index a699ff9..d36d5a5 100644 --- a/architecture.mmd +++ b/architecture.mmd @@ -14,7 +14,7 @@ graph TB APP_PORTS["ReviewLogger
application-layer port"] subgraph UseCases["Use Cases"] UC_AUTH["auth
login, register"] - UC_DIARY["diary
log_review, get_diary,
get_activity_feed, export"] + UC_DIARY["diary
log_review, edit_review,
get_diary, get_activity_feed,
export"] UC_MOVIES["movies
get_movies, get_movie_profile,
enrich_movie, request_enrichment,
sync_poster, reindex_search,
merge_duplicates"] UC_IMPORT["import
create_session, apply_mapping,
execute, profiles"] UC_USERS["users
get_users, get_profile,
update_profile, delete_account"] @@ -50,7 +50,7 @@ graph TB direction TB subgraph Models["Models"] M_MOVIE["Movie, MovieSummary,
MovieProfile"] - M_REVIEW["Review, DiaryEntry,
FeedEntry"] + M_REVIEW["Review, ReviewEdit,
DiaryEntry, FeedEntry"] M_USER["User, UserSummary"] M_PERSON["Person, PersonId,
PersonCredits"] M_WATCHLIST["WatchlistEntry,
WatchEvent"] @@ -69,7 +69,7 @@ graph TB DS_REVIEW["ReviewHistoryAnalyzer
rating_trend"] end EVENTS["DomainEvent enum
ReviewLogged, MovieDiscovered,
GoalCreated, GoalUpdated,
UserDeleted, UserAccountMoved,
SearchReindexRequested, ...
"] - VO["Value Objects
MovieId, UserId, Rating,
Email, Username, Password, ...
"] + VO["Value Objects
MovieId, UserId, Rating,
WatchMedium, Email, Username,
Password, ...
"] end subgraph ApiTypes["api-types (0 domain deps)"]