Skip to content

Gyan-Ranjan-01/sweetsuite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SweetSuite

A full-stack property rental and listing platform where users can explore stays, create listings, upload images, leave reviews, and manage authentication securely.

๐Ÿ”— Live Demo: https://sweet-suite.onrender.com/listings

Full-Stack Property Rental & Listing Platform
Built with Node.js, Express.js, MongoDB, EJS, HTML, CSS3 & JavaScript


Node.js MongoDB Express.js Cloudinary License


๐Ÿš€ Features

๐Ÿ‘ค User Features

  • Secure user authentication and authorization
  • User signup/login/logout system
  • Flash message notifications
  • Session management

๐Ÿก Listing Features

  • Create new property listings
  • Edit and delete listings
  • Upload listing images
  • View all available properties
  • Detailed property pages

โญ Review System

  • Add reviews and ratings
  • Delete reviews
  • Review validation system

โ˜๏ธ Cloud Integration

  • Cloudinary image storage
  • Multer file upload handling

๐Ÿ›ก๏ธ Security & Validation

  • Joi schema validation
  • Authentication middleware
  • Protected routes
  • Error handling system

๐ŸŒ Backend Features

  • RESTful routing architecture
  • Middleware-based request handling
  • Authentication and authorization flow

โšก Workflow

  1. User registers or logs into the platform
  2. User explores available property listings
  3. Authenticated users can create and manage listings
  4. Images are uploaded securely using Cloudinary
  5. Users can add reviews and ratings to properties
  6. Listings and reviews are stored in MongoDB

๐Ÿ—๏ธ Architecture

SweetSuite follows the MVC (Model-View-Controller) architecture pattern:

  • Models manage MongoDB schemas and database logic
  • Views handle server-side rendering using EJS
  • Controllers process application logic and requests
  • Routes manage API and application endpoints
  • Middleware handles validation, authentication, and authorization

๐Ÿ› ๏ธ Tech Stack

Frontend

  • HTML5
  • CSS3
  • JavaScript
  • EJS

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

Authentication

  • Passport.js
  • Express Session
  • Passport Local Mongoose

File Upload & Storage

  • Multer
  • Cloudinary
  • Multer Storage Cloudinary

Other Tools

  • Joi Validation
  • Connect Flash
  • Method Override
  • Cookie Parser

๐Ÿ“‚ Project Structure

SweetSuite/
โ”‚โ”€โ”€ controller/
โ”‚   โ”œโ”€โ”€ listings.js
โ”‚   โ”œโ”€โ”€ review.js
โ”‚   โ””โ”€โ”€ user.js
โ”‚
โ”‚โ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ listing.js
โ”‚   โ”œโ”€โ”€ review.js
โ”‚   โ””โ”€โ”€ user.js
โ”‚
โ”‚โ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ listings.js
โ”‚   โ”œโ”€โ”€ review.js
โ”‚   โ””โ”€โ”€ user.js
โ”‚
โ”‚โ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ JS/
โ”‚   โ”œโ”€โ”€ style.css
โ”‚   โ””โ”€โ”€ stars.css
โ”‚
โ”‚โ”€โ”€ views/
โ”‚   โ”œโ”€โ”€ includes/
โ”‚   โ”œโ”€โ”€ layouts/
โ”‚   โ”œโ”€โ”€ listings/
โ”‚   โ””โ”€โ”€ user/
โ”‚
โ”‚โ”€โ”€ uploads/
โ”‚โ”€โ”€ utils/
โ”‚โ”€โ”€ app.js
โ”‚โ”€โ”€ middleware.js
โ”‚โ”€โ”€ cloudConfig.js
โ”‚โ”€โ”€ Schema.js
โ”‚โ”€โ”€ package.json
โ”‚โ”€โ”€ README.md

โš™๏ธ Installation & Setup

1๏ธโƒฃ Clone the repository

git clone https://github.com/Gyan-Ranjan-01/SweetSuite.git

2๏ธโƒฃ Move into project directory

cd SweetSuite

3๏ธโƒฃ Install dependencies

npm install

4๏ธโƒฃ Configure environment variables

Create a .env file in the root directory and add:

ATLASDB_URL=your_mongodb_connection
SECRET=your_session_secret

CLOUD_NAME=your_cloudinary_name
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_secret

5๏ธโƒฃ Run the project

node app.js

๐ŸŒ Live Preview

๐Ÿ‘‰ https://sweet-suite.onrender.com/listings


๐Ÿ“ธ Project Screenshots

๐Ÿ  Homepage & Property Listings


๐Ÿก Property Details Page


โž• Create Listing


โญ Review & Rating System


๐Ÿ” Authentication System


๐Ÿง  What I Learned

  • MVC architecture implementation
  • Authentication and authorization
  • MongoDB schema relationships
  • File upload handling
  • Cloudinary integration
  • Backend route protection
  • RESTful routing
  • Server-side rendering with EJS
  • Validation and error handling
  • Middleware-based backend architecture

๐Ÿ”ฎ Future Improvements

  • Property search and filtering
  • Google Maps integration
  • Booking and reservation system
  • Payment gateway integration
  • JWT-based authentication
  • REST API modularization
  • Docker containerization
  • Real-time notifications

๐Ÿ‘จโ€๐Ÿ’ป Developer

Gyan Ranjan

๐Ÿ”— LinkedIn: https://www.linkedin.com/in/gyan-ranjan-/

๐Ÿ”— GitHub: https://github.com/Gyan-Ranjan-01


โญ If you found this project useful, give it a star!

About

Full-stack property rental platform built with React, Node.js, Express, and MongoDB.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages