hesabix/README.md

185 lines
5.4 KiB
Markdown
Raw Normal View History

2025-08-31 19:48:07 +03:30
# سیستم حسابداری - Vue.js + Vuetify + Symfony
این پروژه یک سیستم حسابداری کامل است که از Vue.js 3، Vuetify 3 و Symfony 7 استفاده می‌کند.
## 🏗️ ساختار پروژه
```
/var/www/v2.hesabix.ir/
├── core/ # Symfony backend
├── frontend/ # Vue.js + Vuetify frontend
│ ├── src/
│ │ ├── components/ # کامپوننت‌های Vue
│ │ ├── views/ # صفحات اصلی
│ │ ├── router/ # Vue Router
│ │ ├── store/ # Vuex store
2025-09-01 20:51:04 +03:30
│ │ ├── assets/ # فایل‌های استاتیک
│ │ │ └── styles/ # فایل‌های CSS
│ │ └── i18n/ # بین‌المللی‌سازی
2025-08-31 19:48:07 +03:30
│ ├── public/
│ ├── package.json
│ └── webpack.config.js
├── public_html/ # فایل‌های build شده
└── vendor/ # PHP dependencies
```
## 🚀 نصب و راه‌اندازی
### پیش‌نیازها
- PHP 8.2+
- Node.js 18+
- Composer
- npm
### Backend (Symfony)
```bash
cd core
composer install
```
### Frontend (Vue.js)
```bash
cd frontend
npm install
```
## 🔧 دستورات توسعه
### Development
```bash
cd frontend
npm run dev # Build development
npm run watch # Build + watch changes
```
### Production
```bash
cd frontend
npm run build # Build production
```
## 📱 ویژگی‌ها
### کامپوننت‌های اصلی
- **Dashboard**: نمایش خلاصه مالی
- **Accounts**: مدیریت حساب‌ها
- **Transactions**: مدیریت تراکنش‌ها
- **Reports**: گزارشات مالی
- **Settings**: تنظیمات سیستم
### تکنولوژی‌ها
- **Vue 3**: Composition API
- **Vuetify 3**: Material Design components
- **Vue Router 4**: Client-side routing
- **Vuex 4**: State management
- **Webpack Encore**: Asset compilation
## 🌐 روتینگ
### Vue Router (Frontend)
- `/` - Dashboard
- `/accounts` - مدیریت حساب‌ها
- `/transactions` - مدیریت تراکنش‌ها
- `/reports` - گزارشات
- `/settings` - تنظیمات
### Symfony Routes (Backend)
- `/api/*` - API endpoints
## 🎨 UI/UX Features
- **RTL Support**: پشتیبانی کامل از راست به چپ
2025-09-01 20:51:04 +03:30
- **Persian Font**: فونت Vazir و Tahoma
2025-08-31 19:48:07 +03:30
- **Material Design**: کامپوننت‌های زیبا
- **Responsive**: سازگار با همه دستگاه‌ها
- **Dark/Light Theme**: تم‌های مختلف
2025-09-01 20:51:04 +03:30
- **Multilingual**: پشتیبانی از فارسی و انگلیسی
## 🌍 پشتیبانی از RTL (راست‌چین)
### ویژگی‌های RTL
- **تغییر خودکار جهت**: صفحه به صورت خودکار راست‌چین/چپ‌چین می‌شود
- **فونت‌های مناسب**: Vazir برای فارسی، Roboto برای انگلیسی
- **کامپوننت‌های Vuetify**: تمام کامپوننت‌ها از RTL پشتیبانی می‌کنند
- **Responsive RTL**: سازگار با تمام اندازه‌های صفحه
### فایل‌های RTL
- `src/assets/styles/rtl-ltr.css` - استایل‌های پایه RTL/LTR
- `src/assets/styles/vuetify-rtl.css` - پشتیبانی RTL برای Vuetify
- `src/assets/styles/components-rtl.css` - RTL برای کامپوننت‌های خاص
- `src/components/RTLTest.vue` - کامپوننت تست RTL
### نحوه استفاده
```javascript
// تغییر زبان و جهت
import { changeLocale } from './i18n'
changeLocale('fa') // فارسی - راست‌چین
changeLocale('en') // انگلیسی - چپ‌چین
```
2025-08-31 19:48:07 +03:30
## 📊 کامپوننت‌های Vuetify
- **Data Tables**: نمایش داده‌ها
- **Cards**: کارت‌های اطلاعاتی
- **Forms**: فرم‌های ورودی
- **Navigation**: منوهای کاربری
- **Charts**: نمودارها (آینده)
- **Dialogs**: پنجره‌های تعاملی
## 🔄 Build Process
1. **Development**: `npm run dev`
2. **Watch Mode**: `npm run watch`
3. **Production**: `npm run build`
فایل‌های build شده در `public_html/build/` قرار می‌گیرند.
## 🚀 Deployment
### Development Server
```bash
cd frontend
npm run dev-server
```
### Production Build
```bash
cd frontend
npm run build
```
## 📝 نکات مهم
- فایل‌های frontend در پوشه جداگانه قرار دارند
- Build process کاملاً مستقل است
- Symfony به عنوان API backend عمل می‌کند
- Vue Router برای client-side routing استفاده می‌شود
2025-09-01 20:51:04 +03:30
- فونت فارسی Vazir برای RTL استفاده شده
- پشتیبانی کامل از RTL در تمام کامپوننت‌ها
2025-08-31 19:48:07 +03:30
## 🐛 عیب‌یابی
### مشکلات رایج
1. **Node modules**: `rm -rf node_modules && npm install`
2. **Build errors**: بررسی webpack.config.js
3. **Routing issues**: بررسی .htaccess
2025-09-01 20:51:04 +03:30
4. **RTL issues**: بررسی فایل‌های CSS و i18n
2025-08-31 19:48:07 +03:30
### Logs
- Symfony: `core/var/log/`
- Webpack: `frontend/` console
2025-09-01 20:51:04 +03:30
## 📚 مستندات اضافی
- `frontend/RTL_SETUP.md` - راهنمای کامل RTL
- `frontend/MULTILINGUAL_SETUP.md` - راهنمای چندزبانه
- `frontend/THEME_SETUP.md` - راهنمای تم‌ها
2025-08-31 19:48:07 +03:30
## 📞 پشتیبانی
برای سوالات و مشکلات:
- بررسی documentation
- بررسی console errors
- بررسی network tab
2025-09-01 20:51:04 +03:30
- تست کامپوننت RTLTest