🏢 سیستم کامل مدیریت املاک با React.js و Node.js؛ مدیریت آگهیهای املاک، جستجوی پیشرفته، نقشه تعاملی Leaflet، پنل مدیریت با نمودارها، سیستم احراز هویت JWT، آپلود تصاویر، فیلترهای پیشرفته و طراحی ریسپانسیو RTL. 🚀 PWA آماده، SEO بهینه، بدون بکاند؛ آماده دمو برای کارفرما و دیپلوی روی cPanel/GitHub Pages.
amlak.venusbox.ir/
- مدیریت کامل آگهیهای املاک با آپلود تصاویر Drag & Drop
- جستجوی پیشرفته با فیلترهای متعدد (قیمت، موقعیت، نوع ملک)
- نقشه تعاملی Leaflet با نمایش موقعیت املاک
- سیستم احراز هویت JWT با مدیریت نقشها (کاربر/مدیر)
- پنل مدیریت با آمار و نمودارهای تحلیلی Chart.js
- طراحی ریسپانسیو و RTL با Tailwind CSS
- PWA (Service Worker + Manifest) برای نصب روی دستگاه
- SEO بهینه با Meta Tags، Sitemap و Structured Data
- بهینهسازی کامل Performance با Code Splitting و Lazy Loading
- احراز هویت امن با JWT و bcryptjs برای رمزنگاری پسوردها
- محافظت در برابر SQL Injection و XSS
- Rate Limiting برای محدودیت درخواستها
- CORS Configuration مناسب
- Input Validation کامل
- متغیرهای محیطی امن در .env
- HTTPS اجباری در production
- Node.js (نسخه 18 یا بالاتر)
- MySQL (نسخه 8 یا بالاتر)
- npm یا yarn
- کلون و نصب وابستگیها:
git clone https://github.com/mmdcode/amlak-web.git
cd amlak-web
npm install
cd Backend && npm install && cd ..- تنظیم دیتابیس MySQL:
CREATE DATABASE amlak_web CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- تنظیم متغیرهای محیطی:
فایل .env در پوشه Backend/ ایجاد کنید:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=amlak_web
JWT_SECRET=your_jwt_secret_key_here
PORT=5000- اجرای Backend (در ترمینال اول):
npm run backend:dev- اجرای Frontend (در ترمینال دوم):
npm run dev- Build نهایی:
npm run build- Backend باید قبل از Frontend اجرا شود
- پورت 5000 باید آزاد باشد
- MySQL باید در حال اجرا باشد
- فایل .env باید در پوشه Backend قرار گیرد
- Frontend: React.js 19, Vite, Tailwind CSS, React Router, Leaflet, Chart.js
- Backend: Node.js, Express.js, MySQL, JWT, Multer, bcryptjs
- Tools: ESLint, PostCSS, PM2
- PWA: Service Worker, Manifest, Offline Support
- SEO: Meta Tags, Sitemap, Structured Data, Open Graph
- ساختار ماژولار و قابل نگهداری
- کدنویسی تمیز با ESLint
- کامنتگذاری مناسب
- تستنویسی برای قابلیتهای جدید
- حفظ طراحی ریسپانسیو و RTL
- بهینهسازی Performance
- برای امنیت بالاتر، از HTTPS در production استفاده کنید
- بهروزرسانی منظم وابستگیها
- Backup منظم دیتابیس
- مانیتورینگ لاگها
این پروژه تحت لایسنس MIT منتشر شده است. جزئیات در فایل LICENSE موجود است.
اگر این پروژه برایتان مفید بود، لطفاً ⭐️ بدهید. ممنون از حمایت شما!
- Complete real estate management system with image upload and Drag & Drop
- Advanced search with multiple filters (price, location, property type)
- Interactive Leaflet map with property location display
- JWT authentication system with role management (user/admin)
- Admin panel with statistics and Chart.js analytics
- Responsive RTL design with Tailwind CSS
- PWA (Service Worker + Manifest) for device installation
- SEO optimized with Meta Tags, Sitemap and Structured Data
- Complete Performance optimization with Code Splitting and Lazy Loading
- Secure authentication with JWT and bcryptjs for password encryption
- Protection against SQL Injection and XSS
- Rate Limiting for request throttling
- Proper CORS Configuration
- Complete Input Validation
- Secure environment variables in .env
- HTTPS enforcement in production
- Node.js (version 18 or higher)
- MySQL (version 8 or higher)
- npm or yarn
- Clone and install dependencies:
git clone https://github.com/mmdcode/amlak-web.git
cd amlak-web
npm install
cd Backend && npm install && cd ..- Setup MySQL database:
CREATE DATABASE amlak_web CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- Configure environment variables:
Create .env file in Backend/ folder:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=amlak_web
JWT_SECRET=your_jwt_secret_key_here
PORT=5000- Run Backend (in first terminal):
npm run backend:dev- Run Frontend (in second terminal):
npm run dev- Build for production:
npm run build- Backend must be running before Frontend
- Port 5000 must be available
- MySQL must be running
- .env file must be in Backend folder
- Frontend: React.js 19, Vite, Tailwind CSS, React Router, Leaflet, Chart.js
- Backend: Node.js, Express.js, MySQL, JWT, Multer, bcryptjs
- Tools: ESLint, PostCSS, PM2
- PWA: Service Worker, Manifest, Offline Support
- SEO: Meta Tags, Sitemap, Structured Data, Open Graph
- Modular and maintainable structure
- Clean code with ESLint
- Proper commenting
- Testing for new features
- Maintain responsive and RTL design
- Performance optimization
- Use HTTPS in production for higher security
- Regular dependency updates
- Regular database backups
- Log monitoring
This project is licensed under the MIT License. See the LICENSE file for details.
If this project was helpful, please give it a ⭐️. Thank you for your support!


