Skip to content
Yash WaghmarePortfolio, 2026
YASH
ready? scroll gently.
loading the fun…0%
Back to work

Case 02 of 03

WANDERLUST

Find a stay, leave a review, book the trip.

Where to?Search
Sea-view hutCoastal · 2 guests★★★★★Book
Pine cabinHills · 4 guests★★★★★Book
Old-town loftCity · 2 guests★★★★★Book
Role
Full-stack developer
When
2025
Built with
Node · Express · MongoDB · Passport.js · Cloudinary · Bootstrap
Result
Live on Render
The problem

“A booking site has to earn trust: real accounts, real photos, honest reviews — and listings you can actually find.”

How it works

Built like aproper backend.

  1. 1

    Browser

    EJS + Bootstrap

  2. 2

    Express

    MVC routes

  3. 3

    Middleware

    Validation + errors

  4. 4

    Passport.js

    Sessions + roles

  5. 5

    MongoDB

    Listings · reviews · users

  6. 6

    Cloudinary

    Compressed media

The hard parts

01

Trust & roles

Secure multi-user accounts with role-based access control.

02

Fast search

Search and filtering that stays quick across hundreds of listings.

03

Safe CRUD

Validation and error handling on every create, update and delete.

What came out of it

~20%

faster database queries after reworking the APIs

500+

listings searchable and filterable

Live

in production on Render, responsive and accessible

Life of a listing
Wanderlust · stay ticket01

Listed

Host + Cloudinary

A host posts a stay; photos are compressed and stored.

PUBLISHED

Wanderlust · stay ticket02

Reviewed

Guests

Signed-in guests rate and review — validated server-side.

RATED

Wanderlust · stay ticket03

Booked

Passport.js

An authenticated user books; the session guards every step.

BOOKED ✓

every stay gets its own ticket

Next up

RESUME BUILDER

A schema-driven resume builder with live preview — React, jsPDF.