Skip to content

codewithdhruba01/ComfortPG_Website

Repository files navigation

Banner

GitHub contributors GitHub forks GitHub stars GitHub issues Apache-2.0 License

TypeScript React Tailwind CSS Node.js

ComfortPG - Complete PG Website with Room Booking System

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.

CONTENTS OF THE FILE

🌟 Features

Core Functionality

  • 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

Home Page

  • 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

Room Management

  • 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

Additional Pages

  • 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

πŸ› οΈ Tech Stack

Frontend Framework

  • 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

Development Tools

  • 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

Build & Development

  • Node.js: Runtime environment
  • npm: Package manager

πŸ“¦ Installation

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn package manager

Step-by-Step Installation

  1. Clone the repository

    git clone https://github.com/codewithdhruba01/ComfortPG_Website.git
    cd ComfortPG_Website
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open in browser

    • Navigate to http://localhost:5173
    • The website will automatically reload when you make changes

Build for Production

  1. Create production build

    npm run build
  2. Preview production build

    npm run preview
  3. Deploy

    • Upload the dist folder to your web server
    • Or use services like Netlify, Vercel, or GitHub Pages

πŸ“ Project Structure

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

πŸš€ Deployment

Vercel Deployment

  1. Connect GitHub repository
  2. Auto-deploy on push
  3. Environment variables configuration

🀝 Contributing

Development Workflow

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-feature
  3. Make changes and test
  4. Commit: git commit -m "Add new feature"
  5. Push: git push origin feature/new-feature
  6. Create Pull Request

Code Standards

  • Use TypeScript for type safety
  • Follow ESLint rules
  • Write meaningful commit messages
  • Add comments for complex logic
  • Test on multiple devices

πŸ“„ License

This project is licensed under the Apache-2.0 License - see the LICENS file for details.

Links

For support and questions:

πŸ™ Acknowledgments

  • 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

About

Complete PG Website with Room Booking System

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages