Xosh kelibsiz SmartPlan AI loyihasiga! Bu Flask asosida yozilgan veb-aplikatsiya bo'lib, u parametrik uy rejalarini 2D va 3D formatda avtomatik tartibda generatsiya qiladi.
- ✅ 2D va 3D rejalar: Uy rejasini sakkizta va o'jda ko'rinishda ko'rish
- ✅ Parametrik generatsiya: Xona soni, umumiy maydon va qavatlar soni bo'yicha avtomatik rejani yaratish
- ✅ Veb-interfeys: Foydalanuvchi-do'st interfeys Bootstrap va modernli HTML/CSS/JS asosida
- ✅ REST API:
application/jsonasosida API endpoints - ✅ Validation: Kiritilgan parametrlarning to'g'rililigini tekshirish
- ✅ Tayyorlash: PNG formatda rejalarni saqlash va yuklab olish imkoniyati
SmartPlanAI/
├── app.py # Flask aplikatsiyasi yaratish
├── config.py # Konfiguratsiya fayllari
├── run.py # Asosiy ishga tushirish fayli
├── requirements.txt # Python kutubxonalari ro'yxati
│
├── core/ # Yadro modulesi
│ ├── __init__.py
│ ├── house_plan.py # HousePlan klasi (Uy rejasini o'z ichiga oladi)
│ └── utils.py # Vositalar va yordamchi funksiyalar
│
├── routes/ # Flask routelari
│ ├── __init__.py
│ └── main.py # Asosiy API routes
│
├── templates/ # HTML shablon fayllari
│ ├── base.html # Asosiy sahifasi
│ └── index.html # Asosiy veb-interfeys
│
├── static/ # Statik fayllar
│ ├── css/
│ │ └── style.css # Stillar va tasavvur
│ ├── js/
│ │ └── script.js # JavaScript funksiyalar
│ └── uploads/ # Generatsiya qilingan PNG fayllar
│
└── README.md # Loyija haqida ma'lumot (bu fayl)
- Python 3.8 yoki undan yuqori
- pip paket menejeri
- Loyijani klonlash yoki yuklab olish:
cd SmartPlanAI- Virtual muhit yaratish (ixtiyoriy, lekin tavsiya etiladi):
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate- Kerakli kutubxonalarni o'rnatish:
pip install -r requirements.txt- Aplikatsiyani ishga tushirish:
python run.py
run.pydefaults to production mode so you won't see the debug PIN or the "development server" warning in the console. SetFLASK_ENV=developmentif you need live reload or debugging features.
- Brauzerda kirish:
http://localhost:5000
-
Parametrlarni kiriting:
- Xona soni: 1–10 oralig'ida (slayder yoki raqam)
- Umumiy maydon: 50–500 m² oralig'ida
- Qavatlar soni: 1 yoki 2 qavat tanlang
-
"Rejani Generatsiya Qiling" tugmasini bosing
-
Natijalarni ko'ring:
- 2D va 3D rejalar avtomatik chiziladi
- Xonalar ro'yxati va xulosa ma'lumotlar ko'rsatiladi
Uy rejasini generatsiya qiladi.
Request:
Content-Typemay beapplication/jsonor standard form data (application/x-www-form-urlencoded).
JSON example:
{
"num_rooms": 4,
"total_area": 240.0,
"num_floors": 1,
"budget": 100000
}(Form fields should use the same keys: num_rooms, total_area, num_floors, budget.)
Response contains both plan_2d and plan_3d URLs; the web client loads them as PNG images for preview.
Response:
{
"success": true,
"plan_2d": "/static/uploads/plan_2d_*.png",
"plan_3d": "/static/uploads/plan_3d_*.png",
"summary": {
"num_rooms": 4,
"total_area": 240.0,
"num_floors": 1,
"house_width": 24.5,
"house_height": 18.4,
"wall_height": 3.0,
"budget_usd": 100000
},
"rooms": [
{
"name": "Mehmonxona",
"area": 45.2,
"width": 8.5,
"height": 5.3
},
...
],
"timestamp": "20260304_120530"
}Parametrlarni validatsiya qiladi.
Request:
{
"num_rooms": 4,
"total_area": 240.0,
"num_floors": 1
}Response:
{
"valid": true
}config.py faylidagi konfiguratsiyalarni o'zgartirish mumkin:
class DevelopmentConfig(Config):
DEBUG = True
UPLOAD_FOLDER = 'static/uploads'core/house_plan.py faylidagi HousePlan klasi quyidagi metodlarni o'z ichiga oladi:
__init__(num_rooms, total_area, num_floors)- Konstruktorsummary()- Uy parametrlarining xulosa ma'lumotiplot_2d(save_path)- 2D rejani chizamizplot_3d(save_path)- 3D rejani chizamiz
- Backend: Flask (Python)
- Frontend: HTML5, Bootstrap 5, JavaScript
- Vizualizatsiya: Matplotlib, NumPy
- Statik Fayllar: CSS, JavaScript
Barcha dependencies requirements.txt faylidagi ko'rsatilgan:
Flask==3.0.0
numpy==1.24.3
matplotlib==3.8.4
Werkzeug==3.0.1
python-dotenv==1.0.0
Agar matplotlib bilan muammo bo'lsa, brauzer cache'ni tozalang yoki:
pip install --upgrade matplotlibBoshqa port ishlatish uchun:
python run.py --port 8000Bu loyiha bepul va ochiq texnologiyalar asosida ishlab chiqilgan.
SmartPlan AI Development Team
Ishlab chiqarish davomiyligi: Mart 2026
Versiya: 1.0.0