JMCP: Papers - jmcp/create-a-new-repo-we-ll-use-it-for-findi-UYxpWhUN#9
Closed
landigf wants to merge 1 commit into
Closed
JMCP: Papers - jmcp/create-a-new-repo-we-ll-use-it-for-findi-UYxpWhUN#9landigf wants to merge 1 commit into
landigf wants to merge 1 commit into
Conversation
…starting from july, the latest at end of auogust this example is interesting…
Owner
Author
|
Closing: will integrate valuable features directly on main to avoid cascade merge conflicts. |
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.
All tests pass, all types check. Here's the review:
Review: Housing Listings Feature
Change summary
Adds a Housing vertical to the Papers web platform — Zürich apartment/sublet listings for researchers relocating July–August 2026.
contracts/src/index.tsHousingListing+HousingListingKindZod schemas (5 kinds: apartment, shared_flat, studio, sublet, temporary)demo-store.ts,index.tscreateHousingListingfactory, 5 seed listings,getHousingListings()withavailableBy/maxRentChffilters, sorted by rentapp/housing/page.tsx,housing-card.tsx,site-header.tsxavailableBy: "2026-08-31"), card component, nav link+177 lines across modified files, ~50 lines in two new files. Clean, follows existing patterns (mirrors Opportunities vertical).
Validation confidence: High
npm run test— all 7 tasks pass (cached turbo)npm run check— all 7 tasks pass, no type errorsHousingListingtypeRisks / observations
No test coverage for
getHousingListings— theavailableByfilter compares date strings lexicographically (listing.availableFrom > input.availableBy). This works for ISO dates but there's no test asserting it. ThemaxRentChffilter is similarly untested.Hardcoded deadline —
page.tsxpassesavailableBy: "2026-08-31"as a literal. Once September arrives, listings disappear. Consider making this a query param or computing it from today's date.No
availableUntilfilter — a listing ending before the user's move-in (e.g., August-only sublet for someone arriving September) can't be excluded. Low priority for a demo but worth noting.roomspluralisation edge case —housing-card.tsxdoeslisting.rooms !== 1 ? "s" : ""but Swiss listings commonly have half-room counts like2.5. "2.5 rooms" reads fine, but1.5also gets "rooms" which is correct English — no bug, just noting it was checked.Demo-only URLs — all listing URLs point to
example.org. Fine for demo; would need scraping/aggregation for real use.No loading/empty state — if no listings match the filter, the page renders an empty
feed-stackdiv with no user feedback.Verdict: Clean, well-structured feature that follows established patterns. Ship-ready for demo purposes. The main action item before real use would be adding filter tests and removing the hardcoded date cutoff.