Nestopia is a cutting-edge home rental website that facilitates direct interaction between buyers and sellers, eliminating the need for third-party intermediaries or broker charges. Built with the MERN stack, Nestopia leverages JWT for authentication, Socket.io for real-time chat functionality, and Dialogflow for an intelligent chatbot, creating a seamless and engaging user experience.
- Direct Buyer-Seller Interaction: Connect with sellers directly without intermediaries.
- Real-Time Chat: Engage in live conversations with sellers using Socket.io.
- Responsive Design: Fully responsive layout ensuring optimal user experience on all devices.
- Secure Authentication: Implemented JWT for secure user authentication and authorization.
- OTP Verification: Used Nodemailer for OTP (One-Time Password) email verification.
- Intelligent Chatbot: Integrated Dialogflow chatbot to assist users with queries and support.
- Comprehensive API Testing: Utilized Postman for thorough API testing.
- Prisma ORM: Used Prisma for efficient database management and interactions.
- Frontend: React, Vite, CSS Modules
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT
- Real-Time Communication: Socket.io
- ORM: Prisma
- Chatbot: Dialogflow
- Email Service: Nodemailer
- Testing: Postman
- Node.js (version 14 or higher)
- MongoDB instance running locally or remotely
- npm or Yarn package manager
-
Clone the Repository
git clone https://github.com/yourusername/nestopia.git cd nestopia -
Install Dependencies
npm install
-
Environment Configuration
Create a
.envfile in the root directory and add the following environment variables:MONGO_URI=mongodb://localhost:27017/nestopia JWT_SECRET=your_secret_key EMAIL_SERVICE=your_email_service_provider EMAIL_USER=your_email_address EMAIL_PASS=your_email_password SOCKET_PORT=3000
-
Database Setup
Run the following command to start MongoDB:
mongod --dbpath=data/db
-
Run the Application
Start the backend server with Nodemon on port 8800:
nodemon index.js
Start the frontend development server on port 5173:
npm run dev
Navigate to
http://localhost:5173to view the application.
- Search and Filter: Easily search and filter properties based on various criteria.
- Detailed Listings: View detailed information about each property.
- Live Interaction: Engage with sellers in real-time using the chat feature.
- Email Verification: Secure user registration with OTP sent via email using Nodemailer.
- Dialogflow Integration: Get instant responses to common queries and support requests.
- Sign Up / Log In: Secure user registration and login with JWT.
- Profile Management: Update and manage user profiles.
- Postman Collection: Test APIs using the provided Postman collection.
Homepage:
Login and otp generation:
Direct Interaction and real time chat:
Dialogflow Chatbot:
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and commit them (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
For support or inquiries, contact us at support@nestopia.com.


