← All work
WonderLands
An Airbnb-style platform where people explore listings on a map, leave ratings and reviews, and manage their own properties securely.
The idea
WonderLands is a full-stack web application inspired by Airbnb. People can explore listings, view them on an interactive map, add ratings and reviews, and manage the properties they own. I focused on the backend: architecture, authentication, CRUD operations and a real deployment.
What it does
- Sign-up, login and authorisation with Passport.js.
- Create, edit and delete listings, allowed only for their owners.
- Ratings out of 5 and reviews, with user permissions.
- Interactive maps with Leaflet.js and location markers.
- Image uploads and storage through Cloudinary.
- Server-side form validation with Joi.
- A responsive interface built with Bootstrap.
- Express middleware, controllers and REST routes behind it all.
Built with
- Node.js
- Express.js
- EJS
- MongoDB
- Mongoose
- Bootstrap
- Leaflet.js
- Cloudinary
- Render
What I learned
- Building full-stack applications with authentication and authorisation.
- Structuring REST APIs into routes, controllers and middleware.
- Schema design and relationships with Mongoose.
- Handling file uploads and integrating maps and Cloudinary.
- Session management and flash messages.
- Deploying a full-stack app.
- Debugging, error handling and backend architecture.