https://github.com/abhishekboadgurjar/stayfinder
A full-featured stay booking platform built with **Next.js** for the frontend and **Node.js** for the backend. The app includes user authentication, property listings, detailed profiles, and booking functionality.
https://github.com/abhishekboadgurjar/stayfinder
booking-platform full-stack mern nextjs nodejs stayfinder
Last synced: 2 months ago
JSON representation
A full-featured stay booking platform built with **Next.js** for the frontend and **Node.js** for the backend. The app includes user authentication, property listings, detailed profiles, and booking functionality.
- Host: GitHub
- URL: https://github.com/abhishekboadgurjar/stayfinder
- Owner: abhishekboadgurjar
- License: mit
- Created: 2025-06-13T13:24:59.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-07-25T16:18:27.000Z (3 months ago)
- Last Synced: 2025-07-25T23:10:49.775Z (3 months ago)
- Topics: booking-platform, full-stack, mern, nextjs, nodejs, stayfinder
- Language: TypeScript
- Homepage: https://stay-finder-client-omega.vercel.app/
- Size: 4.46 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π¨ Stay Finder - Full Stack Booking Platform
A full-featured stay booking platform built with **Next.js** for the frontend and **Node.js** for the backend. The app includes user authentication, property listings, detailed profiles, and booking functionality.
> Developed by [Abhishek Gurjar](https://github.com/abhishekboadgurjar)
---
## π Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Project Structure](#project-structure)
- [Installation](#installation)
- [Frontend Setup](#frontend-setup)
- [Backend Setup](#backend-setup)
- [Environment Variables](#environment-variables)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Screenshots](#screenshots)
- [Contributing](#contributing)
- [License](#license)---
## π Overview
Stay Finder is a modern and responsive web application that allows users to browse, list, and book properties. It features user authentication, profile management, property posting, and a seamless booking experience.
---
## β Features
### π Frontend (Next.js)
- Responsive UI with Tailwind CSS (or your preferred CSS framework)
- Authentication flow (Sign Up / Login)
- Browse property listings
- Filter/search stays
- User dashboard to manage bookings and listings### π₯οΈ Backend (Node.js, Express.js)
- JWT Authentication
- RESTful APIs for bookings, users, and listings
- MongoDB database integration
- Middleware for authorization and error handling---
## π Tech Stack
- **Frontend:** Next.js, React, Tailwind CSS (or CSS Modules)
- **Backend:** Node.js, Express.js, MongoDB, JWT
- **Authentication:** JSON Web Tokens (JWT)
- **Database:** MongoDB with Mongoose
- **API Client:** Axios or Fetch API
- **Deployment:** Vercel (frontend), Render/Heroku (backend)---
## π Project Structure
```
stay-finder/
βββ backend/
β βββ controllers/
β βββ models/
β βββ routes/
β βββ middleware/
β βββ config/
β βββ server.js
βββ frontend/
β βββ components/
β βββ pages/
β βββ utils/
β βββ styles/
β βββ next.config.js
βββ README.md````
---
## βοΈ Installation
### π¦ Prerequisites
- Node.js
- MongoDB Atlas or local instance
- Vercel CLI (optional for deployment)### π§ Frontend Setup
```bash
cd frontend
npm install
npm run dev
````### π§ Backend Setup
```bash
cd backend
npm install
node server.js
```---
## π Environment Variables
Create `.env` files in both `frontend` and `backend` directories.
### ποΈ Backend `.env`
```
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
```### ποΈ Frontend `.env.local`
```
NEXT_PUBLIC_API_URL=http://localhost:5000/api
```---
## π§ͺ Usage
1. Visit the frontend at `http://localhost:3000`
2. Register or log in as a user
3. Browse available stays
4. Book a stay and manage your profile---
## π API Endpoints
### π§ Auth
* `POST /api/auth/register` β Register user
* `POST /api/auth/login` β Login user
* `GET /api/auth/profile` β Get current user### π Listings
* `GET /api/listings` β Get all listings
* `POST /api/listings` β Create a new listing
* `GET /api/listings/:id` β Get listing by ID
* `DELETE /api/listings/:id` β Delete listing### π Bookings
* `POST /api/bookings` β Book a listing
* `GET /api/bookings/user/:userId` β Get userβs bookings---
## πΈ Screenshots
> Add your app screenshots or GIFs here
---
## π€ Contributing
Contributions are welcome!
1. Fork the repository
2. Create your feature branch `git checkout -b feature/awesome-feature`
3. Commit your changes `git commit -m "Add some feature"`
4. Push to the branch `git push origin feature/awesome-feature`
5. Open a Pull Request---
## π License
This project is open-source and available under the [MIT License](LICENSE).
---
## πββοΈ Author
Made with β€οΈ by **Abhishek Gurjar**
GitHub: [@abhishekboadgurjar](https://github.com/abhishekboadgurjar)