ShareNest is a comprehensive roommate-finding web application designed to help people—especially recent graduates—find compatible flatmates that match their preferences, location, and lifestyle. Moving to a new city is challenging, and finding the right person to share a space with shouldn't add to the stress.
- 🔥 Core Idea & Inspiration
- 🛠️ Tech Stack
- 🌐Live Demo
- ✨ Features Implemented
- 📸 Screenshots
- 💡 How to Use
- 🔧 Installation & Setup
- 🌱 Future Updates
- 👤 Author & Contact
When students graduate and move to new cities for jobs or higher education, finding a compatible flatmate becomes a crucial but often stressful task. Traditional methods like social media posts or classified ads often lack the depth needed to find truly compatible roommates. ShareNest bridges this gap by providing a comprehensive platform where users can:
- Create detailed profiles with preferences and lifestyle choices
- Discover potential flatmates through their feed section
- Build connections through a secure request system
- Communicate seamlessly with matched roommates
- Make informed decisions based on comprehensive profiles
- Filter profiles of the location where you are moving to
- React.js - Component-based UI library
- Tailwind CSS - Utility-first CSS framework
- DaisyUI - Tailwind CSS component library
- React Router - Client-side routing
- ReduxToolkit - Global state management
- Socket.io Client - Real-time communication
- Axios - Making API calls to the backend
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- bcrypt.js - Secure password hashing
- JWT - JSON Web Tokens for authentication
- Cookie-Parser - Session management
- Socket.io - Real-time bidirectional communication
- CORS - Handling cross-origin requests
- Secure Registration - Create account with email and password.
- Login/Logout - JWT-based authentication with cookie sessions
- Password Security - bcrypt hashing for secure password storage
- Session Management - Persistent login sessions with secure cookies
- Comprehensive Profiles - Add personal details, preferences, and lifestyle choices
- Profile Editing - Update information anytime
- Profile Viewing - Browse detailed profiles of potential roommates
- Connection Requests - Send interested/ignore requests to potential roommates
- Request Management - Accept or reject incoming connection requests
- Connections Dashboard - View all your established connections
- Smart User Suggestions: Displays a curated list of new users you haven't interacted with—no existing connections or pending requests.
- Pagination UI: Built with pagination to ensure smooth navigation and optimal performance for large datasets.
- City-Based Filtering: Easily filter profiles based on city names.
- Autocomplete with Debouncing: Enhances the user experience with city name suggestions as you type, using debouncing to reduce unnecessary API calls and improve performance.
- Instant Messaging - Chat with connected roommates in real-time
- Socket.io Integration - Seamless, fast communication
- Message History - Persistent chat history
- Secure chat - Allows chat between mutual connections only
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Intuitive Interface - Clean, modern UI with DaisyUI components
- Fast Navigation - Smooth routing with React Router
- Global State Management - Efficient state handling with Redux
- Signup for new account with email and password
- Complete Profile by adding your details, preferences, and lifestyle information
- Login and browse the feed for potential flatmates.
- To Discover Roommates browse through your feed.
- Apply City Filter to find roommates in specific city.
- Send connection requests to people you're interested in.
- Accept or reject requests received.
- Start chatting with people you’re connected with to explore compatibility further.
- Set Preferences - Specify your location, budget, and lifestyle preferences
- Browse Profiles - View detailed profiles of potential roommates
- Make Connections - Send connection requests to interesting profiles
- Chat & Connect - Use the built-in chat to get to know your matches
- Meet in Person - Arrange to meet your top matches in person
- Node.js
- MongoDB database
- Git
git clone https://github.com/official-tushar/ShareNest.git
cd ShareNestcd server
npm installCreate a .env file in the /server directory:
PORT=7777
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_keynpm run devcd clientnpm installCreate a .env file in the /client directory:
VITE_BACKEND_URL=your_backend_urlnpm run devEnsure your MongoDB instance is running
- Advanced Matching Algorithm - AI-powered compatibility scoring
- Video Calling - Integrate video chat for virtual meetings
- Property Integration - Connect with real estate listings
- Reviews & Ratings - User feedback system for better trust
- Advanced Filters - More granular search and filtering options
- Group Chats - Multi-user chat rooms for shared housing
- Enhanced Security - Add two-factor authentication
Developer Information: Tushar Srivastava
- GitHub: @official-tushar
- LinkedIn: tusharsrivastava8404
- Email: tusharsrivastava8404@gmail.com










