پرش به محتوا

ساختار فنی

از ویکی حسابیکس
نسخهٔ تاریخ ۸ فروردین ۱۴۰۵، ساعت ۲۱:۰۹ توسط MDK (بحث | مشارکت‌ها) (ایجاد یک نسخه اولیه برای توضیح ساختار فنی آرک. WIP و به زودی آن را بهبود خواهم داد.)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)

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

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

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

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

۲. پشته فناوری (Technology Stack)

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

بک‌اند

   ‘’‘FastAPI’‘’: فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا.
   ‘’‘PostgreSQL’‘’: پایگاه داده قدرتمند و قابل اطمینان برای ذخیره‌سازی داده‌ها.
   ‘’‘SQLAlchemy’‘’: ORM (Object-Relational Mapper) برای تعامل با پایگاه داده.
   ‘’‘Alembic’‘’: ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده.
   ‘’‘Python 3.10+’‘’: زبان برنامه‌نویسی بک‌اند.

فرانت‌اند

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

زیرساخت

   ‘’‘Nginx’‘’: برای مسیریابی درخواست‌ها، بارگذاری متعادل و ارائه محتوای استاتیک.
   ‘’‘SSL/TLS (Let’s Encrypt)’‘’: برای تأمین امنیت ارتباطات بین کاربران و سرور.
   ‘’‘Systemd’‘’: برای راه‌اندازی، مدیریت و نظارت بر سرویس‌ها و فرایند‌های بک‌اند و Nginx

JWT (JSON Web Tokens) برای احراز هویت و رمزنگاری داده‌ها برای حفظ حریم خصوصی.

پیش‌نیازهای نرم‌افزاری

   Git
   Python 3
   PostgreSQL
   Nginx
   Flutter SDK
   Certbot

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

سیستم عامل

   Ubuntu 22.04+
   Debian 12+