manishkumar8312 / manishkumar8312/QuickStay

updated readme

Open
#7 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
20
Forks
20
PR merge metrics
No merged PRs in 30d

Description

# 🏨 QuickStay – Hotel Booking Web Application

**QuickStay** is a full-featured, full-stack **hotel booking platform** built with the **MERN Stack** (MongoDB, Express.js, React.js, Node.js). It empowers users to explore hotels, book stays seamlessly, and manage their reservations β€” while providing admins a secure dashboard to manage property listings.

---

## πŸš€ Features

### πŸ‘€ User Functionality
- πŸ” Browse and search for hotels
- πŸ“… Book hotels with check-in/check-out dates
- πŸ› View hotel details with images and amenities
- πŸ’Ό Manage bookings from a personal user dashboard
- πŸ” Secure login/signup using **Clerk** authentication

### πŸ› οΈ Admin Functionality
- 🏨 Add, update, or remove hotel listings
- πŸ“ Edit hotel details, pricing, and availability
- πŸ“Š View all bookings and manage inventory
- πŸ”’ Protected routes via admin middleware

---

## 🧰 Tech Stack

| Technology | Description |
|-----------------|-------------------------------------------------|
| **MongoDB** | NoSQL database for users, hotels, and bookings |
| **Express.js** | Backend web server framework |
| **React.js** | Frontend library for building interactive UIs |
| **Node.js** | JavaScript runtime for backend APIs |
| **Clerk.dev** | Authentication and user management |
| **Cloudinary** | Cloud-based image hosting and CDN |
| **Mongoose** | MongoDB object modeling for Node.js |
| **Axios** | HTTP client for frontend API calls |
| **Tailwind CSS**| Utility-first CSS framework for styling |

---

## πŸ“ Folder Structure

QuickStay/
β”œβ”€β”€ client/ # React Frontend
β”‚ └── src/
β”‚ β”œβ”€β”€ components/ # Reusable UI components
β”‚ β”œβ”€β”€ pages/ # Page-level views
β”‚ β”œβ”€β”€ App.js # App entry point
β”‚ └── ...
β”œβ”€β”€ server/ # Express Backend
β”‚ β”œβ”€β”€ controllers/ # Business logic
β”‚ β”œβ”€β”€ routes/ # API endpoints
β”‚ β”œβ”€β”€ models/ # Mongoose models
β”‚ β”œβ”€β”€ middleware/ # Auth, error handling
β”‚ β”œβ”€β”€ configs/ # DB & Cloud config
β”‚ └── server.js # Main server file

---

## πŸ”§ Installation & Setup

### πŸ–₯️ Backend (Server)

``
cd server
npm install
npm run server # Starts Express backend on http://localhost:5000
🌐 Frontend (Client)

cd client
npm install
npm start # Starts React frontend on http://localhost:3000
πŸ” Environment Variables
Create separate .env files in both the server/ and client/ directories.

Server .env

PORT=5000
MONGO_URI=your_mongodb_uri
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
CLERK_SECRET_KEY=your_clerk_secret
Client .env

VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_BASE_URL=http://localhost:5000/api
πŸ–ΌοΈ Screenshots (Optional)
You can include images of the following (add to /screenshots or embed):

🏠 Home page

πŸ“„ Hotel details page

πŸ›’ Booking flow

πŸ“Š Admin dashboard

πŸ“ˆ Future Improvements
πŸ’³ Integrate payment gateway (e.g., Stripe, Razorpay)

πŸ—ΊοΈ Add interactive map view for hotel locations

πŸ“± Improve mobile responsiveness

πŸ“§ Email confirmations for bookings

πŸ”” Notifications for booking updates

🀝 Contribution
We welcome contributions from the community!

Steps:

git clone https://github.com/yourusername/QuickStay.git
git checkout -b feature/your-feature
# Make your changes...
git commit -m "Add new feature"
git push origin feature/your-feature
Then open a Pull Request πŸš€

πŸ“ƒ License
This project is licensed under the MIT License.

πŸ™Œ Acknowledgements
Clerk.dev – Authentication made simple

Cloudinary – Image upload & hosting

MERN Stack – Full-stack JavaScript

Built with ❀️ by [Your Name or Team Name]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up β€” it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the README content in this issue with the repository's current client and server structure, setup commands, environment variables, and available features. Confirm which details are accurate and identify the specific README sections that need updating; done means the documentation matches the project and provides working setup instructions.

Written by the indexing model from the issue text.

Assessment

Tech stack
express, javascript, mongodb, node.js, react, tailwindcss
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.