This one is honest about its origins: it began as the capstone of a MERN course, and the course's version stops at create, read, update and delete over a listings collection. That is enough to demonstrate a stack and not enough to be a usable site. A stays marketplace whose only route into the data is a scroll of every listing has no way for a traveller to answer the one question they actually arrive with — what is available where I am going, under what I can spend. The interesting work started at the point the tutorial ended, and the aim was to close the distance between a finished exercise and something a stranger could use.
The discovery layer was the main addition, and it was built server-side rather than as client-side filtering over an already-downloaded list, so it keeps working as the collection grows. A dedicated search route and controller compose a MongoDB query from whichever parameters arrive: a case-insensitive regular expression on location, an exact match on country, and an upper bound on price, with results capped so a broad query cannot pull the whole collection. Around that sit the parts a tutorial skips because they are not teachable moments — a search bar partial reused across pages, the informational and static pages on their own route, and a reworked interface across the whole site. Authentication, Cloudinary uploads and MapBox come from the course spine; the discovery, the static pages and the front end as it now looks do not.




