ApnaStays is a high-performance, full-stack MERN application engineered for the modern travel industry. It delivers a seamless, high-end experience for both travelers looking for their next stay and property owners managing diverse portfolios.
| View | Purpose | Link |
|---|---|---|
| User Portal | Browse, Filter, and Book | Live Frontend |
| API Backbone | Scalable Node/Express Backend | Live Backend |
| System Status | Health Monitoring | Check Status |
- ⚡ Lightning Fast Search: Advanced filtering by city, price range, and amenities.
- 🛡️ Google OAuth 2.0 Integration: Secure, one-tap login experience alongside traditional JWT.
- 📱 Mobile-First Design: Optimized for any screen size with a premium aesthetic.
- 📅 Smart Booking: Intuitive checkout flow with real-time status tracking.
- 📊 Intelligent Dashboard: Minimalist, data-driven interface for managing hotels and rooms.
- 📈 Revenue Analytics: Track performance and bookings at a glance.
- 🛠️ Full Resource Control: Effortless CRUD operations for properties and inventories.
graph TD
A[React.js / Vite] --> B[Context API]
B --> C[Tailwind CSS]
A --> D[Node.js / Express]
D --> E[JWT / Google OAuth]
D --> F[MongoDB Atlas]
D --> G[Mongoose ODM]
- Frontend: React 18, Vite, Tailwind CSS, React Router 6.
- Backend: Node.js, Express.js, JWT, Google OAuth 2.0.
- Database: MongoDB Atlas with Mongoose logic layer.
git clone https://github.com/MaverickP24/Hotel-Booking-System.git
cd Hotel-Booking-Systemcd backend
npm install
cp .env.example .envImportant
Update your .env with your MongoDB URI, JWT Secret, and Google Cloud Console credentials.
cd ../frontend
npm installEnsure your frontend/.env points to the backend:
VITE_API_URL=http://localhost:5001/apiUsing two terminal windows:
# Terminal 1: Backend
cd backend && npm run dev
# Terminal 2: Frontend
cd frontend && npm run dev- Backend: MVC-inspired structure with strictly defined routes and middleware for security and validation.
- Frontend: Component-based architecture with centralized state management through the Context API.
This project maintains:
- ✅ Strictly typed API responses.
- ✅ Clean, semantic HTML.
- ✅ Modularized CSS utilities via Tailwind.
- ✅ Secure password hashing utilizing
bcryptjs.
Developed with ❤️ by Pratyush Parida