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.
- ✨ Features
- 📦 Tech Stack
- 🚀 Getting Started
- 📁 Project Structure
- 🗂️ ER Diagram
- 🤖 ML Model Details
- 🎥 Live Demo
- 👨💻 Team
- 💬 Feedback
- 🏠 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
- 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
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.
- Clone the Repository
git clone https://github.com/DittoOne/HomeHutBD.git- Set Up the ASP.NET MVC Project
- Open HomeHutBD.sln in Visual Studio
- Restore NuGet packages
- Build the solution
- 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.
- 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.batThis 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
- Start the Flask API From the root directory, run:
setup_flask_environment.bat-
Launch the ASP.NET MVC App
- Open HomeHutBD.sln in Visual Studio
- Press F5 or click Start
✅ Now you are good to go.
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
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"
- 🧠 Model: scikit-learn trained model (.pkl)
- 📈 Input: area, location, bedrooms, etc.
- 💵 Output: Predicted price
| Name | |
|---|---|
| Md. Rakib Hasan | Profile |
| Md. Shahriar Rahman Bhuyian | Profile |
| Kazi Zannatul Tajrin | Profile |
If you have any feedback, suggestions, or want to collaborate — feel free to open an issue or reach out via Linkedin.
