Skip to content

An eco tech project for buying and selling properties with integrted A.I

Notifications You must be signed in to change notification settings

DittoOne/HomeHutBD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acr-logo

Home Hut BD

Contributors Last Commit Issues Stars

🏠 HomeHutBD

An intelligent property listing and pricing platform powered by ASP.NET MVC and a Flask-based Machine Learning API. HomeHutBD lets users list properties, predict optimal pricing based on real estate data, and manage listings via a clean dashboard.

📚 Table of Contents

✨ Features

  • 🏠 Property listing with filters and images
  • 📊 AI-powered price prediction using a trained ML model
  • 🔐 User authentication & property ownership management
  • 💾 SQL Server backend with scalable schema
  • ⚙️ Batch script to auto-deploy Python Flask ML server
  • 👨‍💻 Developer-ready with modular backend + frontend separation

📦 Tech Stack

  • ASP.NET MVC (.NET Framework)
  • SQL Server + SQL Server Management Studio
  • Python 3.x
  • Flask + scikit-learn (ML Model Serving)
  • HTML/CSS + Razor Views
  • Git & GitHub

🚀 Getting Started

Prerequisites

Ensure the following are installed on your system:

  • .NET Framework (compatible with ASP.NET MVC)
  • Visual Studio (2022 or later recommended)
  • SQL Server + SQL Server Management Studio
  • Python 3.x (≥ 3.8)
  • Git

💡 No need to manually install Python packages — the batch script will handle that automatically.

🔧 Installation Steps

  1. Clone the Repository
git clone https://github.com/DittoOne/HomeHutBD.git
  1. Set Up the ASP.NET MVC Project
  • Open HomeHutBD.sln in Visual Studio
  • Restore NuGet packages
  • Build the solution
  1. Configure the SQLExpress Database
  • Open SQL Server Management Studio
  • Create a new database
  • Migrate the database or use sql codes of "dummy sql.txt" provided inside repository.
  1. Set Up the Flask API

The ML model is powered by a local Flask server. A batch script automates everything.

From the root directory (HomeHutBD/), run:

setup_flask_environment.bat

This script will:

  • Check/install Python if missing
  • Create and activate a virtual environment under ./flask_api/venv
  • Install required packages: Flask, Flask-CORS, NumPy, Pandas, Joblib, scikit-learn
  • Verify presence of the ML model file: best_BD_property_price_model.pkl

🖥️ Run the Application

  1. Start the Flask API From the root directory, run:
setup_flask_environment.bat
  1. Launch the ASP.NET MVC App

    • Open HomeHutBD.sln in Visual Studio
    • Press F5 or click Start

✅ Now you are good to go.

📁 Project Structure

Click to expand file structure
HomeHutBD/
├── wwwroot/
├── Controllers/
│   ├── AccountController.cs
│   ├── ChatController.cs
│   ├── HomeController.cs
│   ├── PredictionController.cs
│   └── PropertiesController.cs
├── Data/
│   └── ApplicationDbContext.cs
├── flask_api/
│   ├── app.py
│   ├── best_BD_property_price_model.pkl
│   ├── requirements.txt
│   └── venv/
├── Helpers/
│   └── SessionHelper.cs
├── Migrations/
├── Models/
│   ├── Admin.cs
│   ├── Chats.cs
│   ├── ErrorViewModel.cs
│   ├── Properties.cs
│   ├── PropertyPredictionModel.cs
│   ├── Users.cs
│   └── VerificationRequests.cs
├── Services/
│   └── FlaskServiceManager.cs
├── ViewModels/
├── Views/
│   ├── Account/
│   ├── Chat/
│   ├── Home/
│   ├── prediction/
│   ├── Properties/
│   └── Shared/
├── appsettings.json
├── Program.cs
└── setup_flask_environment.bat

🗂️ ER Diagram

Click to expand ER Diagram
erDiagram
    Admin {
        INT AdminId PK
        NVARCHAR Email
        NVARCHAR Password
    }

    Users {
        INT UserId PK
        NVARCHAR Username
        NVARCHAR FirstName
        NVARCHAR LastName
        NVARCHAR PhoneNumber
        NVARCHAR Email
        NVARCHAR Password
        NVARCHAR ProfileImage
        DATETIME CreatedAt
    }

    VerificationRequests {
        INT VerificationRequestId PK
        INT UserId FK
        NVARCHAR NidNumber
        NVARCHAR VerificationStatus
        DATETIME RequestDate
        INT ApprovedBy FK
    }

    Properties {
        INT PropertyId PK
        INT UserId FK
        NVARCHAR Title
        INT AreaSqft
        NVARCHAR Address
        INT Bathrooms
        INT Bedrooms
        NVARCHAR Type
        NVARCHAR Purpose
        NVARCHAR ImageUrl
        NVARCHAR FloorPlan
        DATETIME LastUpdate
        DECIMAL Price
        INT Nid_Verification FK
    }

    Chats {
        INT ChatId PK
        INT SenderId FK
        INT ReceiverId FK
        INT PropertyId FK
        NVARCHAR Message
        DATETIME Timestamp
    }

    Users ||--o{ VerificationRequests : "requests"
    Admin ||--o{ VerificationRequests : "approves"
    Users ||--o{ Properties : "posts"
    VerificationRequests ||--o{ Properties : "verifies"
    Users ||--o{ Chats : "sends"
    Properties ||--o{ Chats : "discussed in"
Loading

🤖 ML Model Details

  • 🧠 Model: scikit-learn trained model (.pkl)
  • 📈 Input: area, location, bedrooms, etc.
  • 💵 Output: Predicted price

🎥 Live Demo

👨‍💻 Team

Name LinkedIn
Md. Rakib Hasan Profile
Md. Shahriar Rahman Bhuyian Profile
Kazi Zannatul Tajrin Profile

💬 Feedback

If you have any feedback, suggestions, or want to collaborate — feel free to open an issue or reach out via Linkedin.

About

An eco tech project for buying and selling properties with integrted A.I

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •