پرش به محتوا

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

از ویکی حسابیکس
MDK (بحث | مشارکت‌ها)
مرتب‌سازی و اصلاحات ظاهری صفحه ساختار فنی.
MDK (بحث | مشارکت‌ها)
توضیح پیش‌نیازها و فرانت‌اند. بهبود جزیی فرمتینگ.
 
خط ۳: خط ۳:
== ترکیب سیستم سطح بالا ==
== ترکیب سیستم سطح بالا ==
سیستم از اجزای اصلی زیر تشکیل شده است:
سیستم از اجزای اصلی زیر تشکیل شده است:
# '''بک‌اند''': با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت داده‌ها، منطق تجاری و ارائه API را بر عهده دارد.
# '''فرانت‌اند''': یک رابط کاربری وب مدرن که با Flutter پیاده‌سازی شده است و تجربه کاربری واکنش‌گرا و جذاب را ارائه می‌دهد.
# '''فرانت‌اند''': یک رابط کاربری وب مدرن که با Flutter پیاده‌سازی شده است و تجربه کاربری واکنش‌گرا و جذاب را ارائه می‌دهد.
# '''بک‌اند''': با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت داده‌ها، منطق تجاری و ارائه API را بر عهده دارد. همچنین صفحات و عناصر وب را برای فرانت‌اند تولید می‌کند.
== فرانت‌اند ==
فرانت‌اند حسابیکس آرک مبتنی بر Flutter Web، فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد است. بنابراین کاربر می‌تواند به حسابیکس آرک بدون هیچ پیش‌نیازی بجز دسترسی به یک مرورگر و شبکه متصل به سرور بک‌اند، دسترسی داشته و از آن استفاده نماید.
طراحی بصری فرانت‌اند آرک بر اساس الگوی راهنمای Material Design برای ایجاد رابط کاربری مدرن و سازگار با محیط‌های مختلف است. همچنین طراحی فنی واکنش‌گرا (Responsive Design) تضمین می‌کند که رابط کاربری در دستگاه‌ها و اندازه‌های صفحه نمایش مختلف به درستی نمایش داده شود.


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


==== پیش‌نیازها ====
==== پیش‌نیازها ====
* Git
بسته‌های نرم‌افزاری زیر برای راه‌اندازی بک‌اند حسابیکس آرک مورد نیاز هستند که توسط اسکریپت نصب به صورت خودکار نصب می‌شوند.
* Python 3
# '''Git''': برای مدیریت سورس و دریافت کد بک‌اند
* PostgreSQL
# '''Python 3.10+:''' زبان مورد استفاده در بک‌اند از جمله فریم‌ورک FastAPI
* Nginx
# '''PostgreSQL''': پایگاه داده
* Flutter SDK
# '''Nginx''': مسیریابی و ارایه محتوا به درخواست‌ها
* Certbot
# '''Flutter SDK''': تولید صفحات و عناصر رابط کاربری برای فرانت‌اند
توسط اسکریپت نصب به صورت خودکار نصب می‌شوند.
# '''Certbot''': امنیت و رمزنگاری ارتباط
همچنین کتاب‌خوانه‌های دیگری مانند FastAPI در پایتون و فلاتر بکار گرفته می‌شوند که آن‌ها نیز توسط اسکریپت نصب به صورت خودکار دریافت و نصب می‌گردند.


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

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

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

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

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

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

فرانت‌اند

فرانت‌اند حسابیکس آرک مبتنی بر Flutter Web، فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد است. بنابراین کاربر می‌تواند به حسابیکس آرک بدون هیچ پیش‌نیازی بجز دسترسی به یک مرورگر و شبکه متصل به سرور بک‌اند، دسترسی داشته و از آن استفاده نماید.

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

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

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

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

پیش‌نیازها

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

  1. Git: برای مدیریت سورس و دریافت کد بک‌اند
  2. Python 3.10+: زبان مورد استفاده در بک‌اند از جمله فریم‌ورک FastAPI
  3. PostgreSQL: پایگاه داده
  4. Nginx: مسیریابی و ارایه محتوا به درخواست‌ها
  5. Flutter SDK: تولید صفحات و عناصر رابط کاربری برای فرانت‌اند
  6. Certbot: امنیت و رمزنگاری ارتباط

همچنین کتاب‌خوانه‌های دیگری مانند FastAPI در پایتون و فلاتر بکار گرفته می‌شوند که آن‌ها نیز توسط اسکریپت نصب به صورت خودکار دریافت و نصب می‌گردند.

سیستم عامل

  • Ubuntu 22.04+
  • Debian 12+