An open API service indexing awesome lists of open source software.

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.

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)