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
- Secure user authentication and authorization
- User signup/login/logout system
- Flash message notifications
- Session management
- Create new property listings
- Edit and delete listings
- Upload listing images
- View all available properties
- Detailed property pages
- Add reviews and ratings
- Delete reviews
- Review validation system
- Cloudinary image storage
- Multer file upload handling
- Joi schema validation
- Authentication middleware
- Protected routes
- Error handling system
- RESTful routing architecture
- Middleware-based request handling
- Authentication and authorization flow
- User registers or logs into the platform
- User explores available property listings
- Authenticated users can create and manage listings
- Images are uploaded securely using Cloudinary
- Users can add reviews and ratings to properties
- Listings and reviews are stored in MongoDB
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
- HTML5
- CSS3
- JavaScript
- EJS
- Node.js
- Express.js
- MongoDB
- Mongoose
- Passport.js
- Express Session
- Passport Local Mongoose
- Multer
- Cloudinary
- Multer Storage Cloudinary
- Joi Validation
- Connect Flash
- Method Override
- Cookie Parser
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.mdgit clone https://github.com/Gyan-Ranjan-01/SweetSuite.gitcd SweetSuitenpm installCreate 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_secretnode app.js๐ https://sweet-suite.onrender.com/listings
- 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
- 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
๐ LinkedIn: https://www.linkedin.com/in/gyan-ranjan-/
๐ GitHub: https://github.com/Gyan-Ranjan-01
.png)
.png)
.png)
.png)
.png)