Collaborative movie selection
A five-phase room lifecycle guides participants through movie nominations, ranked voting, and staged reveals in a full-stack platform.
P—004 / Collaborative software
A collaborative movie selection platform that coordinates movie nominations, ranked voting, and staged reveals through a five-phase room lifecycle.
A five-phase room lifecycle guides participants through movie nominations, ranked voting, and staged reveals in a full-stack platform.
Serializable database transactions, conflict retries, and idempotent finalization maintain consistent room state across simultaneous submissions.
A Borda-count voting engine uses rating-based tiebreakers and selects finalists while preserving every participant's representation, including when participants share nominations.
TMDB and a custom Letterboxd API supply movie discovery and ratings. Asynchronous jobs use bounded polling, cancellation, timeouts, and response validation.
Server-side membership checks and composite database constraints enforce room-level authorization and relational integrity. Unrevealed movie details are withheld from client responses.
Automated tests cover voting edge cases, concurrent operations, authorization failures, and the complete nomination-to-reveal domain workflow.