A modern platform that helps students and working professionals quickly discover nearby hostels and PG accommodations. Users can search, filter, and compare PGs based on location, price, and amenities.
- Secure login and signup using JWT authentication and Bcrypt.js for password hashing.
- Two roles: Tenant and Agent.
- Search PGs/Hostels by location, budget, and amenities.
- Apply filters (e.g., price range, single/double occupancy, food included).
- Save favorite PGs for quick access.
- Book visits or contact property owners directly.
- Update profile details.
- Add, update, or remove PG listings.
- Upload images, set rent, facilities, and availability.
- Manage tenant requests and inquiries.
- Track occupancy and bookings.
- Mobile-friendly responsive design.
- Interactive maps integration for nearby PG search.
- Secure profile management for both tenants and agents.
- Interactive In-App Notification system
- React
- Tailwind CSS
- Socket.io
- Node.js
- Express
- Socket.io
- Redis
- MongoDB
- AWS S3 Bucket
-
Clone the repository:
git clone https://github.com/devanshkansagra/FindPG.git
-
Go to backend and run
cd backend npm install -
Go to frontend and run
cd frontend npm install -
Setup .env file
- Backend
ORIGIN=http://localhost:5173 # (or your frontend deployment url) SERVER=http://localhost:4000 # (or your backend deployment url) MONGDB_URI="mongodb://localhost:27017/FindPG" # (or MongDB Atlas URL) ACCESS_TOKEN_SECRET= ACCESS_TOKEN_EXPIRY=3599s REFRESH_TOKEN_SECRET= REFRESH_TOKEN_EXPIRY=7d AWS_BUCKET_NAME= AWS_BUCKET_REGION= AWS_ACCESS_KEY= AWS_SECRET_ACCESS_KEY= GMAIL_USER= GMAIL_APP_PASSWORD= REDIS_URL=redis://127.0.0.1:6379 # (or your redis deployment url)
- Frontend
VITE_SERVER_ORIGIN=http://localhost:4000
-
To Run Project
cd frontend npm start run cd backend npm run dev
- If you do not have Redis installed on your system. Try installing it with a Docker container
- To install run this command
docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latestContributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Commit your changes (
git commit -m "Added new feature") - Push to the branch (
git push origin feature-branch) - Open a Pull Request
Made by: Devansh Kansagra - dkansagra04@gmail.com