پرش به محتوا

ساختار فنی

از ویکی حسابیکس

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

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

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

  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+