diff --git a/README.md b/README.md index c959781..424ce02 100644 --- a/README.md +++ b/README.md @@ -1,122 +1,199 @@ -# **حسابیکس** +# حسابیکس - نرم‌افزار حسابداری متن‌باز -حسابیکس اولین نرم‌افزار حسابداری متن‌باز به زبان فارسی با رابط کاربری تحت وب است. -برای مشاهده نسخه نمایشی پروژه به وب‌سایت [https://hesabix.ir](https://hesabix.ir) مراجعه کنید. +![Hesabix Logo](https://hesabix.ir/logo.png) -## پیش‌نیازهای نصب +حسابیکس اولین نرم‌افزار حسابداری متن‌باز به زبان فارسی با رابط کاربری تحت وب است که به شما امکان مدیریت کامل امور مالی کسب و کارتان را می‌دهد. -برای نصب هسته حسابیکس به ابزارهای زیر نیاز دارید: +## 📋 فهرست مطالب -* وب سرور: Apache، NginX و... -* پایگاه داده: Mysql، mariaDB، PostgreSql و... -* PHP: نسخه 8.1 به بالا -* افزونه‌های PHP: php-Intl، php-mbstring، php-http، php-raphf، php-zip، php-gd -* composer +- [معرفی](#معرفی) +- [ویژگی‌های کلیدی](#ویژگی‌های-کلیدی) +- [پیش‌نیازها](#پیش‌نیازها) +- [روش‌های نصب](#روش‌های-نصب) + - [نصب خودکار در اوبونتو](#نصب-خودکار-در-اوبونتو) + - [نصب دستی](#نصب-دستی) + - [نصب با Docker](#نصب-با-docker) +- [پیکربندی](#پیکربندی) + - [تنظیمات پایگاه داده](#تنظیمات-پایگاه-داده) + - [تنظیمات ایمیل](#تنظیمات-ایمیل) +- [به‌روزرسانی](#به‌روزرسانی) +- [توسعه](#توسعه) +- [مشارکت](#مشارکت) +- [حمایت مالی](#حمایت-مالی) +- [لایسنس](#لایسنس) -## نصب سریع در سرورهای اوبونتو 24.04 به بالا +## معرفی -برای نصب سریع حسابیکس در سرورهای اوبونتو 24.04 به بالا، می‌توانید از اسکریپت نصب خودکار استفاده کنید. این اسکریپت تمام پیش‌نیازها را نصب کرده و حسابیکس را به صورت خودکار راه‌اندازی می‌کند: +حسابیکس یک راه‌حل جامع برای مدیریت امور مالی کسب و کارهای کوچک و متوسط است. این نرم‌افزار با رابط کاربری فارسی و امکانات کامل، به شما کمک می‌کند تا امور مالی خود را به راحتی مدیریت کنید. + +**نسخه نمایشی:** [https://hesabix.ir](https://hesabix.ir) + +## ویژگی‌های کلیدی + +- ✅ رابط کاربری کاملاً فارسی +- ✅ پشتیبانی از چندین واحد پولی +- ✅ گزارش‌های مالی پیشرفته +- ✅ مدیریت موجودی کالا +- ✅ سیستم حقوق و دستمزد +- ✅ پشتیبانی از مالیات و عوارض +- ✅ امنیت بالا و پشتیبانی از چندین کاربر +- ✅ پشتیبانی از نسخه موبایل + +## پیش‌نیازها + +### سخت‌افزاری +- حداقل ۲ گیگابایت فضای خالی دیسک +- حداقل ۱ گیگابایت رم + +### نرم‌افزاری +- وب سرور (Apache، NginX و...) +- پایگاه داده (MySQL، MariaDB، PostgreSQL) +- PHP نسخه ۸.۱ به بالا +- افزونه‌های PHP: + - php-Intl + - php-mbstring + - php-http + - php-raphf + - php-zip + - php-gd +- Composer +- Node.js و npm (برای توسعه رابط کاربری) + +## روش‌های نصب + +### نصب خودکار در اوبونتو + +برای نصب سریع در سرورهای اوبونتو 24.04 به بالا: ```bash cd /tmp && curl -sSL https://shell.hesabix.ir/installer.sh | tr -d '\r' > installer.sh && chmod +x installer.sh && sudo bash installer.sh ``` -پس از اجرای این دستور، اسکریپت نصب به صورت خودکار: -- تمام پیش‌نیازهای مورد نیاز را نصب می‌کند +این اسکریپت به صورت خودکار: +- پیش‌نیازها را نصب می‌کند - پایگاه داده را پیکربندی می‌کند - حسابیکس را نصب و راه‌اندازی می‌کند -- تنظیمات امنیتی اولیه را اعمال می‌کند +- تنظیمات امنیتی را اعمال می‌کند -## نصب +### نصب دستی -* پروژه را در پوشه وب سرور کپی یا کلون کنید. اگر از کنترل پنل‌های اشتراکی مانند cpanel یا directadmin استفاده می‌کنید، فایل‌ها را در پوشه اصلی کپی کنید و پوشه public_html بازنویسی خواهد شد. -* در سیستم مدیریت پایگاه داده خود یک پایگاه داده ایجاد کنید و فایل .env را در پوشه اصلی پروژه ویرایش کنید. -* وابستگی‌ها را با اجرای این دستور نصب کنید: +برای نصب دستی حسابیکس، مراحل زیر را دنبال کنید: -``` -composer install +1. **کپی پروژه:** + - پروژه را در پوشه وب سرور کپی یا کلون کنید + - اگر از کنترل پنل‌های اشتراکی مانند cPanel یا DirectAdmin استفاده می‌کنید، فایل‌ها را در پوشه اصلی کپی کنید + +2. **ایجاد پایگاه داده:** + - در سیستم مدیریت پایگاه داده خود (مانند phpMyAdmin) یک پایگاه داده جدید ایجاد کنید + - نام کاربری و رمز عبور مناسب برای دسترسی به پایگاه داده تعیین کنید + +3. **تنظیم فایل محیط:** + - فایل `.env` را در پوشه اصلی پروژه ویرایش کنید + - اطلاعات پایگاه داده را وارد کنید: + ```env + DATABASE_URL="mysql://user:password@localhost:3306/hesabix_db" + ``` + +4. **نصب وابستگی‌ها:** + ```bash + composer install + ``` + +5. **ایجاد فایل محیط محلی:** + ```bash + # برای محیط تولید + composer dump-env prod + + # برای محیط توسعه + composer dump-env dev + ``` + +6. **راه‌اندازی پایگاه داده:** + - وارد سیستم مدیریت پایگاه داده خود شوید + - فایل `hesabixBackup/databaseFiles/hesabix-db-default.sql` را وارد کنید + - به پوشه `hesabixCore` بروید و دستور زیر را اجرا کنید: + ```bash + php bin/console doctrine:schema:update --force --complete + ``` + +7. **تست نصب:** + - آدرس دامنه اصلی را در مرورگر باز کنید + - باید صفحه اصلی API حسابیکس را مشاهده کنید + +### نصب با Docker + +1. مخزن را کلون کنید: + ```bash + git clone https://github.com/your-username/hesabix.git + cd hesabix + ``` + +2. فایل محیط را کپی و پیکربندی کنید: + ```bash + cp .env.example .env + nano .env + ``` + +3. اسکریپت نصب را اجرا کنید: + ```bash + ./docker/setup.sh + ``` + +## پیکربندی + +### تنظیمات پایگاه داده + +فایل `.env` را ویرایش کنید و اطلاعات پایگاه داده خود را وارد کنید: + +```env +DATABASE_URL="mysql://user:password@localhost:3306/hesabix_db" ``` -* فایل .env را ویرایش کرده و رشته اتصال پایگاه داده را با نام کاربری، رمز عبور و نام پایگاه داده خود تنظیم کنید. -* فایل محیط محلی را با اجرای این دستور ایجاد کنید: +### تنظیمات ایمیل -``` -composer dump-env prod -composer dump-env dev // فقط برای محیط توسعه +برای پیکربندی ارسال ایمیل، فایل `.env.local.php` را ویرایش کنید: + +```php +'MAILER_DSN' => 'smtp://user:pass@smtp.example.com:port' ``` -* وارد سیستم مدیریت پایگاه داده خود مانند phpmyadmin شوید و فایل موجود در hesabixBackup/databaseFiles/hesabix-db-default.sql را وارد کنید. -* در خط فرمان به پوشه hesabixCore بروید و پایگاه داده را با این دستور به‌روز کنید: +## به‌روزرسانی -``` -php bin/console doctrine:schema:update --force --complete -``` +برای به‌روزرسانی نرم‌افزار: -آدرس دامنه اصلی را در مرورگر باز کنید، باید صفحه اصلی API حسابیکس را مشاهده کنید. - -## اتصال به سرویس ایمیل - -برای اتصال حسابیکس به سرویس ایمیل خود، فایل .env.local.php را در پوشه hesabixCore ویرایش کنید و رشته اتصال سرور ایمیل خود را در پارامتر MAILER_DSN تنظیم کنید. برای اطلاعات بیشتر درباره رشته‌های اتصال به مستندات symfony mailer مراجعه کنید. [اینجا کلیک کنید](https://symfony.com/doc/current/mailer.html#transport-setup) - -پس از تنظیم رشته اتصال، فایل mailer.yaml را در پوشه configs ویرایش کرده و هدر برای ارسال ایمیل‌ها را تنظیم کنید. - -## به‌روزرسانی نرم‌افزار - -برای به‌روزرسانی نرم‌افزار با آخرین تغییرات منتشر شده در پوشه hesabixCore، این دستور را اجرا کنید: - -``` +```bash php bin/console hesabix:update ``` +## توسعه -## فرآیند ساخت رابط کاربری +### راه‌اندازی محیط توسعه -## راه‌اندازی پروژه - -```sh +```bash npm install -``` - -### کامپایل و بارگذاری خودکار برای توسعه - -```sh npm run dev -npm run dev -- --host // برای استفاده در شبکه‌های خارجی ``` -پس از اجرای این دستور می‌توانید با آدرس [http://localhost:5173](http://localhost:5173) در مرورگر خود دسترسی داشته باشید. +### کامپایل برای تولید -### پیکربندی آدرس API در حالت توسعه -به صورت پیش‌فرض، آدرس API در مسیر اصلی (/) و رابط کاربری وب در زیرپوشه /u/ قرار دارد. - -مثال: -- آدرس API: https://myaddress.com -- آدرس رابط کاربری وب: https://myaddress.com/u/ - -اگر شما یک توسعه‌دهنده هستید و می‌خواهید با دستورات `npm run dev` یا `npm run dev --host` کار کنید، باید متغیری با نام `dev_api_url` تعریف کنید که آدرس API خارجی را مشخص می‌کند، مثلاً: - -```js -return 'https://next.hesabix.ir'; -``` - -### بررسی نوع، کامپایل و فشرده‌سازی برای تولید - -```sh +```bash npm run build-only ``` -**تمام فایل‌های خروجی در پوشه public_html/u تولید خواهند شد که قابل اجرا روی وب سرور خواهند بود** +## مشارکت -### مشارکت‌کنندگان +ما از مشارکت شما استقبال می‌کنیم! برای مشارکت: - - - - - - +1. مخزن را فورک کنید +2. یک شاخه جدید ایجاد کنید +3. تغییرات خود را اعمال کنید +4. یک درخواست ادغام (Pull Request) ارسال کنید ## حمایت مالی -برای حمایت مالی از توسعه‌دهندگان لطفاً از این لینک استفاده کنید: +برای حمایت از توسعه حسابیکس: [https://zarinp.al/hesabix.ir](https://zarinp.al/hesabix.ir) + +## لایسنس + +حسابیکس تحت مجوز GNU GPL v3 منتشر شده است. برای جزئیات بیشتر به فایل [LICENSE](LICENSE) مراجعه کنید.