A comprehensive, multilingual real estate platform connecting property buyers, sellers, renters, and real estate professionals across borders.
- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- Configuration
- User Roles
- Internationalization
- Development
- Deployment
- Contributing
- License
Q Homes is a modern, full-featured real estate platform designed to facilitate property transactions and management. Built with Next.js 16 and React 19, it offers a seamless experience for various stakeholders in the real estate ecosystem, including:
- Property Seekers: Browse, search, and save residential, commercial, and land properties
- Property Owners: List and manage properties for sale or rent
- Real Estate Agents: Manage client relationships, listings, and appointments
- Administrators: Oversee platform operations, analytics, and content management
- π Multilingual Support: English and French language options
- π’ Multiple Property Types: Residential, commercial, and land listings
- π± Responsive Design: Mobile-first approach with Tailwind CSS v4
- π Role-Based Access Control: Separate dashboards for clients, partners, and admins
- π Performance Optimized: React Compiler and Next.js App Router
- π¨ Modern UI/UX: Clean interface with Lucide React icons
-
Property Listings
- Advanced search and filtering
- Property details with image galleries
- Virtual tours and interactive maps
- Save favorites and create alerts
-
User Management
- Multi-role authentication (Client, Partner, Admin)
- Social login integration (Google)
- Profile management and preferences
- Secure password recovery
-
Booking & Appointments
- Schedule property visits
- Concierge service requests
- Real-time availability checking
- Appointment management dashboard
-
Content Management
- Blog system with rich editor
- SEO management tools
- Media library
- Event management
-
Communication
- Inquiry system
- In-app messaging
- WhatsApp integration
- Email notifications
-
Analytics & Reporting
- User activity tracking
- Property performance metrics
- Audit logs
- Dashboard analytics
- View saved properties and favorites
- Manage appointments and inquiries
- Track saved searches
- Update profile and settings
- Access message inbox
- Manage property listings
- Handle client inquiries
- Schedule and track appointments
- View performance analytics
- Manage business profile
- User management and roles
- Property approval workflow
- Content and blog management
- Platform analytics
- SEO and media management
- System settings and configuration
- Audit logs and security
- Framework: Next.js 16.0.1 (App Router)
- UI Library: React 19.2.0
- Styling: Tailwind CSS v4 with PostCSS
- Icons: Lucide React 0.552.0
- Language: JavaScript (JSX)
- Linting: ESLint with Next.js config
- Compiler: React Compiler (Babel plugin)
- Package Manager: npm
- React Server Components
- Automatic image optimization
- Font optimization with next/font
- React Compiler for performance
- Code splitting and lazy loading
quiahgroup/
βββ public/ # Static assets
βββ src/
β βββ app/ # Next.js App Router
β β βββ [locale]/ # Internationalized routes
β β β βββ about/ # About page
β β β βββ blog/ # Blog system
β β β βββ buy/ # Buy properties
β β β βββ rent/ # Rent properties
β β β βββ sell/ # Sell property form
β β β βββ contact/ # Contact page
β β β βββ listings/ # Property listings
β β β βββ properties/ # Property categories
β β β βββ dashboard/ # User dashboards
β β β β βββ admin/ # Admin panel
β β β β βββ client/ # Client portal
β β β β βββ partner/ # Partner portal
β β β βββ login/ # Authentication
β β β βββ register/ # User registration
β β βββ globals.css # Global styles
β β βββ layout.jsx # Root layout
β β βββ page.jsx # Root redirect
β βββ components/ # React components
β β βββ auth/ # Authentication UI
β β βββ dashboard/ # Dashboard components
β β βββ home/ # Homepage sections
β β βββ property/ # Property components
β β βββ ContactForm.jsx
β β βββ Footer.jsx
β β βββ Header.jsx
β β βββ ...
β βββ contexts/ # React contexts
β β βββ AuthContext.jsx # Authentication state
β β βββ LanguageContext.jsx
β βββ i18n/ # Internationalization
β β βββ translations/ # Language files
β β β βββ en.json
β β β βββ fr.json
β β βββ index.js
β βββ utils/ # Utility functions
β β βββ auth.js
β βββ lib/ # Libraries and helpers
β βββ data.js
βββ eslint.config.mjs # ESLint configuration
βββ jsconfig.json # JavaScript config
βββ next.config.mjs # Next.js configuration
βββ package.json # Dependencies
βββ postcss.config.mjs # PostCSS config
βββ tailwind.config.js # Tailwind config
βββ README.md # This file
- Node.js 18.17 or later
- npm, yarn, pnpm, or bun package manager
- Git
-
Clone the repository
git clone https://github.com/Md-Ridoy-Hasan-Kamrul/quiahgroup.git cd quiahgroup -
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up environment variables
# Create .env.local file (not included in repo) # Add your environment variables
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
The application will automatically redirect to /en (English) by default.
Create a .env.local file in the root directory:
# Add your environment variables here
# Example:
# NEXT_PUBLIC_API_URL=https://api.example.com
# NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_idThe next.config.mjs file includes:
{
reactCompiler: true, // Enable React Compiler
images: {
remotePatterns: [
// Google, Pexels, Unsplash images allowed
]
}
}Tailwind v4 uses CSS-first configuration. Customize your theme in src/app/globals.css using the @theme directive.
- Browse and search properties
- Save favorites and create alerts
- Book property visits
- Submit inquiries
- Manage profile
- List and manage properties
- Respond to client inquiries
- Manage appointments
- View analytics
- Update business profile
- Full platform access
- User and role management
- Content moderation
- Analytics and reporting
- System configuration
- SEO management
The platform supports multiple languages through the i18n system:
- English (
/en) - French (
/fr)
- Add translations to
src/i18n/translations/[locale].json - Use the translation hook in components
- All routes are automatically localized
Users can switch languages using the LanguageSwitcher component in the header.
# Development server with hot reload
npm run dev
# Production build
npm run build
# Start production server
npm run start
# Run ESLint
npm run lint- ESLint with Next.js configuration
- React Compiler optimizations enabled
- Component-based architecture
- Server Components by default
- Client Components marked with 'use client'
- Server Components: Use by default for better performance
- Client Components: Only when needed (interactivity, hooks)
- Code Splitting: Leverage Next.js automatic code splitting
- Image Optimization: Use
next/imagefor all images - SEO: Implement metadata in layout and page files
- Accessibility: Ensure ARIA labels and semantic HTML
The easiest way to deploy is using Vercel:
- Push your code to GitHub
- Import project to Vercel
- Configure environment variables
- Deploy
The application can be deployed to any platform supporting Node.js:
- Netlify: Use Next.js adapter
- AWS: Deploy with Amplify or EC2
- Docker: Create Dockerfile for containerization
- Self-hosted: Build and run with
npm run build && npm start
# Create production build
npm run build
# Test production build locally
npm run startContributions 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 existing code style and conventions
- Write clear commit messages
- Test thoroughly before submitting PR
- Update documentation as needed
- Ensure no ESLint errors
This project is private and proprietary. All rights reserved.
For support, questions, or feedback:
- Website: Q Homes Platform
- Email: [email protected]
- Issues: GitHub Issues
Built with β€οΈ using Next.js, React, and Tailwind CSS
Last updated: November 2025