Skip to content

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

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages