ehsan.dev

EA
Back to projects
NexEstate
1 / 1

ehsan-0801/NexEstate

Private

NexEstate is a Real Estate platform for selling and renting houses, villa, hotel etc

0 stars0 forks0 watchingUpdated 3 months ago
README

NexEstate Connect - Real Estate Mediation Platform

A modern, responsive real estate platform built with Next.js 16, React 19, DaisyUI, and Tailwind CSS. The application features role-based dashboards for Admin, Seller, Buyer, and Agent users with a beautiful public-facing website.

🌟 Features

Public Pages

  • Home Page - Landing page with featured properties, how it works section, and call-to-action
  • Properties Listing - Advanced search and filtering for properties with pagination
  • Property Details - Comprehensive property information with image gallery and agent contact
  • About Page - Company mission, values, team, and statistics
  • Authentication - Login and registration pages with demo credentials

Role-Based Dashboards

Admin Dashboard

  • Overview statistics (Users, Listings, Revenue, Transactions)
  • Recent activities monitoring
  • User management table
  • Quick stats with progress indicators

Seller Dashboard

  • Property management with editing and deletion
  • Views and inquiries tracking
  • Message management from interested buyers
  • List new property button
  • Analytics overview

Buyer Dashboard

  • Saved favorite properties
  • Active offers tracking with status
  • Message management with sellers
  • Budget limit and property preferences
  • Make offer functionality

Agent Dashboard

  • Client management with contact information
  • Upcoming property showings
  • Earning statistics
  • Client relationship tracking
  • Schedule new showing feature

šŸ› ļø Tech Stack

  • Framework: Next.js 16 (App Router)
  • UI Library: React 19
  • CSS Framework: Tailwind CSS + DaisyUI 4
  • Icons: Lucide React
  • Styling: JSX with DaisyUI components
  • State Management: React Hooks (useState, useEffect)
  • Routing: Next.js App Router
  • Storage: localStorage for demo authentication

šŸ“ Project Structure

app/
ā”œā”€ā”€ layout.jsx                    # Root layout
ā”œā”€ā”€ globals.css                   # Global styles
ā”œā”€ā”€ page.jsx                      # Home page
ā”œā”€ā”€ login/page.jsx               # Login page
ā”œā”€ā”€ register/page.jsx            # Registration page
ā”œā”€ā”€ about/page.jsx               # About page
ā”œā”€ā”€ properties/page.jsx          # Properties listing
ā”œā”€ā”€ property/[id]/page.jsx       # Property details
ā”œā”€ā”€ admin/dashboard/page.jsx     # Admin dashboard
ā”œā”€ā”€ seller/dashboard/page.jsx    # Seller dashboard
ā”œā”€ā”€ buyer/dashboard/page.jsx     # Buyer dashboard
└── agent/dashboard/page.jsx     # Agent dashboard

tailwind.config.js              # Tailwind configuration with DaisyUI
package.json                    # Dependencies

šŸš€ Getting Started

Installation

  1. Install dependencies:
npm install
# or
pnpm install
  1. Run development server:
npm run dev
# or
pnpm dev
  1. Open in browser: Navigate to http://localhost:3000

šŸ” Demo Credentials

The application uses localStorage for demo purposes. Use these credentials to test different roles:

RoleEmailPassword
Adminadmin@nexestate.comadmin123
Sellerseller@nexestate.comseller123
Buyerbuyer@nexestate.combuyer123
Agentagent@nexestate.comagent123

šŸŽØ Design Features

Color Scheme

  • Primary: Blue (#2563eb) - Main brand color
  • Secondary: Green (#16a34a) - Accent color
  • Accent: Amber (#f59e0b) - Highlights
  • Neutral: Grayscale - Text and borders

Responsive Design

  • Mobile-first approach
  • Tailored layouts for different screen sizes
  • Hamburger menu for mobile navigation on dashboards
  • Adaptive grid layouts

Modern UI Elements

  • Glassmorphism effects
  • Smooth transitions
  • Hover states
  • Interactive modals
  • Progress bars
  • Badge indicators
  • Card-based layouts

šŸ“± Pages Overview

Public Pages

  1. Home (/) - Marketing homepage with property showcase
  2. Properties (/properties) - Searchable property listings with filters
  3. Property Detail (/property/[id]) - Full property information
  4. About (/about) - Company information
  5. Login (/login) - Authentication page
  6. Register (/register) - User registration

Protected Pages (Dashboards)

  1. Admin Dashboard (/admin/dashboard) - System overview and user management
  2. Seller Dashboard (/seller/dashboard) - Property management
  3. Buyer Dashboard (/buyer/dashboard) - Saved properties and offers
  4. Agent Dashboard (/agent/dashboard) - Client and showing management

šŸŽÆ Features Breakdown

Admin Dashboard

  • Real-time statistics
  • User activity monitoring
  • User management with roles
  • Revenue tracking
  • Transaction management

Seller Dashboard

  • List and manage properties
  • Track views and inquiries
  • Message management
  • Property performance analytics

Buyer Dashboard

  • Save favorite properties
  • Make offers on properties
  • Track offer status
  • Manage buyer preferences
  • Message sellers

Agent Dashboard

  • Client relationship management
  • Schedule and manage showings
  • Track sales and earnings
  • Client communication

šŸ”„ State Management

The application uses React Hooks for state management:

  • useState - Component state
  • useEffect - Side effects and user authentication check
  • useRouter - Navigation and redirects

šŸŽØ DaisyUI Components Used

  • Cards
  • Buttons
  • Forms (input, select, textarea)
  • Tables
  • Modals/Dialogs
  • Badges
  • Progress bars
  • Navbars
  • Footers
  • Avatars
  • Dropdowns
  • Dividers
  • Alerts
  • Radios
  • Checkboxes

šŸ”’ Security Notes

This is a frontend-only demo application. For production use:

  • Implement proper backend authentication
  • Use secure password hashing
  • Implement JWT or session-based auth
  • Add CORS and CSRF protection
  • Validate all inputs server-side
  • Use HTTPS in production
  • Implement proper authorization checks

šŸ“Š Dummy Data

The application includes realistic dummy data for:

  • Property listings with images and details
  • User information
  • Transaction records
  • Messages and communications
  • Agent information and client lists

šŸŽÆ Next Steps for Production

  1. Backend Integration

    • Connect to real database (PostgreSQL, MongoDB, etc.)
    • Implement proper authentication system
    • Create API endpoints
  2. Enhancement

    • Add real image uploads
    • Implement live chat
    • Add video tours
    • Email notifications
    • Payment integration
  3. Testing

    • Unit tests
    • Integration tests
    • E2E tests
  4. Deployment

    • Deploy to Vercel
    • Set up CI/CD pipeline
    • Configure environment variables

šŸ“„ License

This project is created for demonstration purposes.

šŸ¤ Support

For questions or issues, please refer to the documentation or contact support.


Built with ā¤ļø using Next.js, React, and DaisyUI