A full-featured, modern hotel booking platform built with React and Vite. NeonStays provides a seamless experience for both guests looking to book accommodations and hotel owners managing their properties.
π Live Demo: https://neonstays.vercel.app/
- Features
- Tech Stack
- Prerequisites
- Installation
- Environment Variables
- Running the Project
- Project Structure
- Screenshots
- API Integration
- Deployment
- Contributing
- Hotel Search & Discovery: Browse and search through available hotels with advanced filtering
- Hotel Details: View comprehensive hotel information, amenities, and room details
- Booking Management: Complete booking flow with guest information and payment processing
- User Authentication: Secure login/signup with email and Google OAuth integration
- Payment Integration: Secure payment processing with success/failure handling
- Responsive Design: Beautiful, modern UI that works seamlessly across all devices
- Experience Page: Discover curated travel experiences and activities
- Testimonials: View customer reviews and testimonials
- Owner Dashboard: Comprehensive dashboard with analytics and insights
- Hotel Management: Create, edit, and manage multiple hotel properties
- Room Management: Add, edit, and manage rooms for each hotel
- Inventory Management: Bulk update and manage room inventory and availability
- Booking Management: View and manage all bookings for your properties
- Reports & Analytics: Detailed reports and analytics for your hotels
- Protected Routes: Secure owner-only routes with authentication
- Join Host Program: Easy onboarding for new hosts
- Modern Design: Neon-themed, futuristic design with smooth animations
- Framer Motion: Smooth page transitions and animations
- Material-UI Components: Professional UI components
- Tailwind CSS: Utility-first CSS framework for rapid styling
- Responsive Layout: Mobile-first responsive design
- Loading States: Beautiful loading animations and states
- Error Handling: User-friendly error messages and handling
- React 18.3.0 - UI library
- Vite 5.4.0 - Build tool and dev server
- React Router DOM 6.30.2 - Client-side routing
- Redux Toolkit 2.10.1 - State management
- React Redux 9.2.0 - React bindings for Redux
- Material-UI (MUI) 7.3.5 - Component library
- Tailwind CSS 3.4.18 - Utility-first CSS framework
- Framer Motion 10.18.0 - Animation library
- Lucide React - Icon library
- Tabler Icons - Additional icons
- React Hook Form 7.66.1 - Form management
- Zod 4.1.12 - Schema validation
- @hookform/resolvers - Form validation resolvers
- date-fns 4.1.0 - Date utility library
- dayjs 1.11.19 - Lightweight date library
- @mui/x-date-pickers-pro - Date picker components
- react-date-range - Date range picker
- Axios 1.13.2 - HTTP client with interceptors
- Three.js - 3D graphics (for visual effects)
- react-confetti - Confetti animations
- react-use - React hooks collection
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher recommended)
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone https://github.com/Divyansh9192/NeonStays-Frontend cd NeonStays-Frontend -
Install dependencies
npm install
-
Set up environment variables (see Environment Variables)
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173(or the port shown in your terminal)
Create a .env file in the root directory with the following variables:
VITE_BASE_URL=your_backend_api_urlExample:
VITE_BASE_URL=http://localhost:8081/api/v1Note: Make sure your backend API is running and accessible at the specified URL.
npm run devStarts the Vite development server with hot module replacement (HMR).
npm run buildCreates an optimized production build in the dist directory.
npm run previewPreviews the production build locally before deployment.
airbnbapp-frontend/
βββ public/ # Static assets
βββ src/
β βββ api/ # API service files
β β βββ auth.js # Authentication API
β β βββ axios.js # Axios configuration
β β βββ hotelsSearch.js
β β βββ bookingInit.js
β β βββ paymentInfo.js
β β βββ ...
β βββ assets/ # Images, icons, and static files
β βββ auth/ # Authentication utilities
β β βββ TokenStorage.js
β βββ components/ # Reusable React components
β β βββ ui/ # UI components
β β βββ Effects/ # Animation components
β β βββ Navbar.jsx
β β βββ Footer.jsx
β β βββ ...
β βββ hooks/ # Custom React hooks
β β βββ useAutoLogin.js
β βββ pages/ # Page components
β β βββ owner/ # Owner-specific pages
β β βββ rooms/ # Room management pages
β β βββ Home.jsx
β β βββ Login.jsx
β β βββ ...
β βββ store/ # Redux store configuration
β β βββ authSlice.js
β β βββ bookingSlice.js
β β βββ store.js
β βββ utils/ # Utility functions
β βββ App.jsx # Main App component
β βββ main.jsx # Application entry point
β βββ index.css # Global styles
βββ index.html # HTML template
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind CSS configuration
βββ vite.config.js # Vite configuration
βββ vercel.json # Vercel deployment configuration
Beautiful landing page with hero section and featured hotels
Advanced search interface with filters
Comprehensive hotel information page
Comprehensive owner dashboard with analytics
Easy-to-use room management interface
Bulk inventory management tool
The frontend communicates with a backend API. Ensure your backend is running and accessible at the VITE_BASE_URL specified in your .env file.
- Authentication endpoints (
/api/auth) - Hotel search and details (
/api/hotels) - Booking management (
/api/bookings) - Payment processing (
/api/payments) - Owner/host endpoints (
/api/owner) - Room management (
/api/rooms) - Inventory management (
/api/inventory)
- JWT token-based authentication
- Automatic token refresh via interceptors
- Google OAuth integration
- Protected routes for owner sections
π Live Site: https://neonstays.vercel.app/
The application is currently deployed and live on Vercel. You can visit the link above to see the application in action.
The project includes vercel.json configuration for easy deployment on Vercel:
- Push your code to GitHub
- Import your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
The project can be deployed to any static hosting service:
- Netlify
- AWS S3 + CloudFront
- GitHub Pages
- Firebase Hosting
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow React best practices
- Use meaningful component and variable names
- Add comments for complex logic
- Ensure responsive design for all new components
This project is private and proprietary.
- Divyansh
- Material-UI for the component library
- Tailwind CSS for the utility-first CSS framework
- Framer Motion for smooth animations
- All contributors and open-source libraries used

