A modern, responsive PG (Paying Guest) accommodation website built with React, TypeScript, and Tailwind CSS. This comprehensive platform provides a complete solution for PG businesses to showcase their properties, manage bookings, and connect with potential residents.
- Overview
- Features
- Configuration
- Installation
- Contributing
- License
- Contributing
- Tech Stack
- Room Management
- Home Page
- Additional Pages
- Project Structure
- Animations & Interactions
- links
- Deployment
- Acknowledgments
- Multi-page Website: Home, Rooms, About, Contact, Privacy Policy, Terms & Conditions, Funding Information, Partner Us, and FAQ pages
- Room Booking System: Complete room listing, search, filtering, and detailed room pages
- Dark/Light Mode: Seamless theme switching with persistent storage
- Responsive Design: Optimized for all devices (mobile, tablet, desktop)
- Interactive UI: Smooth animations and micro-interactions using Framer Motion
- Hero Section: Beautiful background with room images and call-to-action
- Statistics Section: Key metrics and achievements
- Features Showcase: Why choose ComfortPG with interactive cards
- Featured Rooms: Highlighted accommodations with quick access
- Testimonials: Customer reviews and ratings
- Newsletter Signup: Email subscription functionality
- Advanced Search: Real-time search with filters
- Category Filtering: Single, Double, Shared, Deluxe, AC, Non-AC rooms
- Price Range Filter: Adjustable price filtering
- Room Cards: Interactive cards with hover effects
- Detailed Room Pages:
- Image gallery with navigation
- Full room descriptions
- Amenities list with icons
- Booking and cart functionality
- Contact information
- About Page: Company story, team, values, and achievements
- Contact Page: Contact form, location map, and business hours
- Privacy Policy: Comprehensive privacy information
- Terms & Conditions: Legal terms and conditions
- Funding Information: Investment details and funding timeline
- Partner Us: Partnership opportunities and application form
- FAQ: Searchable frequently asked questions
- React 18.3.1: Modern React with hooks and functional components
- TypeScript 5.5.3: Type-safe development
- Vite 5.4.2: Fast build tool and development server
- ESLint 9.9.1: Code linting
- TypeScript ESLint 8.3.0: TypeScript-specific linting rules
- Vite Plugin React 4.3.1: React support for Vite
- Node.js: Runtime environment
- npm: Package manager
- Node.js (version 16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/codewithdhruba01/ComfortPG_Website.git cd ComfortPG_Website -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser
- Navigate to
http://localhost:5173 - The website will automatically reload when you make changes
- Navigate to
-
Create production build
npm run build
-
Preview production build
npm run preview
-
Deploy
- Upload the
distfolder to your web server - Or use services like Netlify, Vercel, or GitHub Pages
- Upload the
src/
βββ components/ # Reusable UI components
β βββ Navbar.tsx # Navigation bar with logo and menu
β βββ Footer.tsx # Footer with links and contact info
β βββ RoomCard.tsx # Room listing card component
βββ context/ # React context providers
β βββ ThemeContext.tsx # Dark/light mode management
βββ data/ # Static data and configurations
β βββ rooms.ts # Room data and categories
βββ pages/ # Page components
β βββ Home.tsx # Landing page
β βββ Rooms.tsx # Room listings with search
β βββ RoomDetail.tsx # Individual room details
β βββ About.tsx # About company page
β βββ Contact.tsx # Contact form and info
β βββ PrivacyPolicy.tsx # Privacy policy
β βββ Terms.tsx # Terms and conditions
β βββ Funding.tsx # Funding information
β βββ Partner.tsx # Partnership page
β βββ FAQ.tsx # Frequently asked questions
βββ types/ # TypeScript type definitions
β βββ index.ts # Interface definitions
βββ App.tsx # Main application component
βββ main.tsx # Application entry point
βββ index.css # Global styles and Tailwind imports
- Connect GitHub repository
- Auto-deploy on push
- Environment variables configuration
- Fork the repository
- Create feature branch:
git checkout -b feature/new-feature - Make changes and test
- Commit:
git commit -m "Add new feature" - Push:
git push origin feature/new-feature - Create Pull Request
- Use TypeScript for type safety
- Follow ESLint rules
- Write meaningful commit messages
- Add comments for complex logic
- Test on multiple devices
This project is licensed under the Apache-2.0 License - see the LICENS file for details.
For support and questions:
- GitHub: Follow More
- Website: ComfortPG
- React Team: For the amazing framework
- Tailwind CSS: For the utility-first CSS framework
- Framer Motion: For smooth animations
- Lucide: For beautiful icons
- Pexels: For high-quality stock images
Made with β€οΈ Dhrubaraj Pati
