Home Finder
An Airbnb-style rental platform with live maps
Video walkthrough coming soon
Home Finder is an Airbnb-inspired rental platform and my first major backend-focused project, built to understand how real-world web applications handle authentication, authorization, database relationships, file uploads, validation, and geolocation. The project follows the MVC architecture pattern and combines multiple backend concepts into a single application while maintaining a structured and scalable codebase.
Users can create accounts, log in securely, publish property listings, upload images, browse available rentals, and leave reviews with ratings. Authentication is implemented using Passport.js with session-based login, while authorization rules ensure that only listing owners can edit or delete their own content and review authors can manage their own reviews.
A major part of the project was integrating Cloudinary for image storage and management. Uploaded images are processed and stored in the cloud, with image URLs saved directly in MongoDB for efficient retrieval and rendering. The platform also includes MapTiler geocoding, allowing users to enter a location as plain text and automatically convert it into geographic coordinates that are displayed on an interactive map.
The backend was built with Node.js, Express, and MongoDB, using Mongoose to model relationships between users, listings, and reviews. Joi validation was added to prevent invalid data from reaching the database, while custom middleware handles authentication checks, authorization rules, and centralized error management. Session data is persisted using connect-mongo, providing reliable login sessions across requests.
During development, I solved challenges involving nested routes, middleware organization, session handling, image upload pipelines, geocoding integration, schema validation, database relationships, and deployment configuration. Building Home Finder helped me gain practical experience with backend architecture, RESTful routing, cloud services, authentication workflows, and creating maintainable full-stack applications beyond basic CRUD functionality.
Key features
Auth and ownership
Only listing owners can edit or delete their own posts
Geocoding
MapTiler turns a typed address into live map markers