StayNest is a full-stack MERN-based travel accommodation platform that allows users to discover, create, and manage short-term stay listings. Inspired by modern vacation rental platforms, StayNest provides a secure and user-friendly experience with authentication, reviews, image uploads, geolocation, and cloud deployment.
- User registration and login
- Secure password hashing using Passport.js
- Session-based authentication
- Authorization for listings and reviews
- Protected routes for authenticated users
- Create, edit, and delete stay listings
- Upload listing images
- View detailed accommodation information
- Listing ownership management
- Add reviews and ratings for listings
- Delete reviews
- Review ownership verification
- Validation for review submissions
- Search accommodations
- Filter listings
- Responsive browsing experience
- Geocoding support
- Store listing coordinates
- Interactive map markers for locations
- Server-side validation using Joi
- Custom error handling middleware
- Flash messages for user feedback
- Secure session management
- React.js
- Bootstrap / Tailwind CSS
- EJS Templates
- Node.js
- Express.js
- MongoDB
- Mongoose
- Passport.js
- Express Session
- Cookies
- Cloudinary (Image Storage)
- MongoDB Atlas (Database Hosting)
- Render
StayNest/
│
├── controllers/
├── models/
├── routes/
├── views/
├── public/
├── middleware/
├── utils/
├── cloudConfig/
├── app.js
├── schema.js
└── package.jsongit clone https://github.com/RamanKumar-Dev/StayNest.git
cd StayNestnpm installCreate a .env file in the root directory:
ATLASDB_URL=your_mongodb_connection_string
CLOUD_NAME=your_cloudinary_cloud_name
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_api_secret
SECRET=your_session_secretnpm startor
nodemon app.jsApplication will run on:
http://localhost:8080- Password hashing and authentication
- Session-based login management
- Authorization checks
- Protected routes
- Server-side validation
- Custom error handling
- Booking and reservation system
- Payment gateway integration
- Wishlist functionality
- User profile management
- Advanced search filters
- Real-time notifications
Through this project, I gained hands-on experience with:
- Full-Stack MERN Development
- RESTful API Design
- Authentication & Authorization
- MVC Architecture
- MongoDB Data Modeling
- Cloudinary Integration
- Geolocation Services
- Error Handling & Validation
- Deployment & Production Configuration
Raman Kumar
GitHub: https://github.com/RamanKumar-Dev
LinkedIn: https://linkedin.com/in/ramankumar115
This project is developed for educational and portfolio purposes.