پرش به محتوا

ساختار فنی: تفاوت میان نسخه‌ها

از ویکی حسابیکس
MDK (بحث | مشارکت‌ها)
ایجاد یک نسخه اولیه برای توضیح ساختار فنی آرک. WIP و به زودی آن را بهبود خواهم داد.
 
MDK (بحث | مشارکت‌ها)
مرتب‌سازی و اصلاحات ظاهری صفحه ساختار فنی.
خط ۱: خط ۱:
'''''حسابیکس آرک''''' یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویس‌گونه برای ارائه قابلیت‌های قدرتمند و انعطاف‌پذیر استفاده می‌کند.
'''''حسابیکس آرک''''' یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویس‌گونه برای ارائه قابلیت‌های قدرتمند و انعطاف‌پذیر استفاده می‌کند.


== ۱. ترکیب سیستم سطح بالا ==
== ترکیب سیستم سطح بالا ==
سیستم از اجزای اصلی زیر تشکیل شده است:
سیستم از اجزای اصلی زیر تشکیل شده است:
    ‘’‘بک‌اند API’‘’: با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت داده‌ها، منطق تجاری و ارائه API را بر عهده دارد.
# '''بک‌اند''': با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت داده‌ها، منطق تجاری و ارائه API را بر عهده دارد.
    ‘’‘فرانت‌اند وب’‘’: یک رابط کاربری وب مدرن که با Flutter Web پیاده‌سازی شده است و تجربه کاربری واکنش‌گرا و جذاب را ارائه می‌دهد.
# '''فرانت‌اند''': یک رابط کاربری وب مدرن که با Flutter پیاده‌سازی شده است و تجربه کاربری واکنش‌گرا و جذاب را ارائه می‌دهد.
    ‘’‘زیرساخت’‘’: شامل مؤلفه‌های خارجی است که برای استقرار و اجرای سیستم ضروری هستند:


== ۲. پشته فناوری (Technology Stack) ==
== پشته فناوری بک‌اند ==
پروژه از پشته فناوری‌های زیر برای پیاده‌سازی اجزای مختلف استفاده می‌کند:
پروژه از پشته فناوری‌های زیر برای پیاده‌سازی اجزای مختلف استفاده می‌کند:
# ‘’‘FastAPI’‘’: فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا.
# ‘’‘PostgreSQL’‘’: پایگاه داده قدرتمند و قابل اطمینان برای ذخیره‌سازی داده‌ها.
# ‘’‘SQLAlchemy’‘’: ORM (Object-Relational Mapper) برای تعامل با پایگاه داده.
# ‘’‘Alembic’‘’: ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده.
# ‘’‘Nginx’‘’: برای مسیریابی درخواست‌ها، بارگذاری متعادل و ارائه محتوای استاتیک.
# ‘’‘SSL/TLS (Let’s Encrypt)’‘’: برای تأمین امنیت ارتباطات بین کاربران و سرور.
# ‘’‘Systemd’‘’: برای راه‌اندازی، مدیریت و نظارت بر سرویس‌ها و فرایند‌های بک‌اند و Nginx
# JWT (JSON Web Tokens): برای احراز هویت و رمزنگاری داده‌ها برای حفظ حریم خصوصی.


=== بک‌اند ===
==== پیش‌نیازها ====
    ‘’‘FastAPI’‘’: فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا.
* Git
    ‘’‘PostgreSQL’‘’: پایگاه داده قدرتمند و قابل اطمینان برای ذخیره‌سازی داده‌ها.
* Python 3
    ‘’‘SQLAlchemy’‘’: ORM (Object-Relational Mapper) برای تعامل با پایگاه داده.
* PostgreSQL
    ‘’‘Alembic’‘’: ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده.
* Nginx
    ‘’‘Python 3.10+’‘’: زبان برنامه‌نویسی بک‌اند.
* Flutter SDK
 
* Certbot
=== فرانت‌اند ===
توسط اسکریپت نصب به صورت خودکار نصب می‌شوند.
    ‘’‘Flutter Web’‘’: فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد.
    ‘’‘Material Design’‘’: راهنمای طراحی برای ایجاد رابط کاربری مدرن و سازگار.
    ‘’‘طراحی واکنش‌گرا (Responsive Design)’‘’: تضمین می‌کند که رابط کاربری در دستگاه‌ها و اندازه‌های صفحه نمایش مختلف به درستی نمایش داده می‌شود.
 
=== زیرساخت ===
    ‘’‘Nginx’‘’: برای مسیریابی درخواست‌ها، بارگذاری متعادل و ارائه محتوای استاتیک.
    ‘’‘SSL/TLS (Let’s Encrypt)’‘’: برای تأمین امنیت ارتباطات بین کاربران و سرور.
    ‘’‘Systemd’‘’: برای راه‌اندازی، مدیریت و نظارت بر سرویس‌ها و فرایند‌های بک‌اند و Nginx
JWT (JSON Web Tokens) برای احراز هویت و رمزنگاری داده‌ها برای حفظ حریم خصوصی.


== پیش‌نیازهای نرم‌افزاری ==
==== سیستم عامل ====
    Git
* Ubuntu 22.04+
    Python 3
* Debian 12+
    PostgreSQL
    Nginx
    Flutter SDK
    Certbot
توسط اسکریپت نصب به صورت خودکار نصب می‌شوند.


== سیستم عامل ==
== فرانت‌اند ==
    Ubuntu 22.04+
‘’‘Flutter Web’‘’: فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد.
    Debian 12+
‘’‘Material Design’‘’: راهنمای طراحی برای ایجاد رابط کاربری مدرن و سازگار.
‘’‘طراحی واکنش‌گرا (Responsive Design)’‘’: تضمین می‌کند که رابط کاربری در دستگاه‌ها و اندازه‌های صفحه نمایش مختلف به درستی نمایش داده می‌شود.

نسخهٔ ۸ فروردین ۱۴۰۵، ساعت ۲۱:۲۳

حسابیکس آرک یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویس‌گونه برای ارائه قابلیت‌های قدرتمند و انعطاف‌پذیر استفاده می‌کند.

ترکیب سیستم سطح بالا

سیستم از اجزای اصلی زیر تشکیل شده است:

  1. بک‌اند: با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت داده‌ها، منطق تجاری و ارائه API را بر عهده دارد.
  2. فرانت‌اند: یک رابط کاربری وب مدرن که با Flutter پیاده‌سازی شده است و تجربه کاربری واکنش‌گرا و جذاب را ارائه می‌دهد.

پشته فناوری بک‌اند

پروژه از پشته فناوری‌های زیر برای پیاده‌سازی اجزای مختلف استفاده می‌کند:

  1. ‘’‘FastAPI’‘’: فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا.
  2. ‘’‘PostgreSQL’‘’: پایگاه داده قدرتمند و قابل اطمینان برای ذخیره‌سازی داده‌ها.
  3. ‘’‘SQLAlchemy’‘’: ORM (Object-Relational Mapper) برای تعامل با پایگاه داده.
  4. ‘’‘Alembic’‘’: ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده.
  5. ‘’‘Nginx’‘’: برای مسیریابی درخواست‌ها، بارگذاری متعادل و ارائه محتوای استاتیک.
  6. ‘’‘SSL/TLS (Let’s Encrypt)’‘’: برای تأمین امنیت ارتباطات بین کاربران و سرور.
  7. ‘’‘Systemd’‘’: برای راه‌اندازی، مدیریت و نظارت بر سرویس‌ها و فرایند‌های بک‌اند و Nginx
  8. JWT (JSON Web Tokens): برای احراز هویت و رمزنگاری داده‌ها برای حفظ حریم خصوصی.

پیش‌نیازها

  • Git
  • Python 3
  • PostgreSQL
  • Nginx
  • Flutter SDK
  • Certbot

توسط اسکریپت نصب به صورت خودکار نصب می‌شوند.

سیستم عامل

  • Ubuntu 22.04+
  • Debian 12+

فرانت‌اند

‘’‘Flutter Web’‘’: فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد. ‘’‘Material Design’‘’: راهنمای طراحی برای ایجاد رابط کاربری مدرن و سازگار. ‘’‘طراحی واکنش‌گرا (Responsive Design)’‘’: تضمین می‌کند که رابط کاربری در دستگاه‌ها و اندازه‌های صفحه نمایش مختلف به درستی نمایش داده می‌شود.