ساختار فنی: تفاوت میان نسخهها
ایجاد یک نسخه اولیه برای توضیح ساختار فنی آرک. WIP و به زودی آن را بهبود خواهم داد. |
توضیح پیشنیازها و فرانتاند. بهبود جزیی فرمتینگ. |
||
| (یک نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
| خط ۱: | خط ۱: | ||
'''''حسابیکس آرک''''' یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویسگونه برای ارائه قابلیتهای قدرتمند و انعطافپذیر استفاده میکند. | '''''حسابیکس آرک''''' یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویسگونه برای ارائه قابلیتهای قدرتمند و انعطافپذیر استفاده میکند. | ||
== | == ترکیب سیستم سطح بالا == | ||
سیستم از اجزای اصلی زیر تشکیل شده است: | سیستم از اجزای اصلی زیر تشکیل شده است: | ||
# '''فرانتاند''': یک رابط کاربری وب مدرن که با Flutter پیادهسازی شده است و تجربه کاربری واکنشگرا و جذاب را ارائه میدهد. | |||
# '''بکاند''': با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت دادهها، منطق تجاری و ارائه API را بر عهده دارد. همچنین صفحات و عناصر وب را برای فرانتاند تولید میکند. | |||
== | == فرانتاند == | ||
فرانتاند حسابیکس آرک مبتنی بر Flutter Web، فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد است. بنابراین کاربر میتواند به حسابیکس آرک بدون هیچ پیشنیازی بجز دسترسی به یک مرورگر و شبکه متصل به سرور بکاند، دسترسی داشته و از آن استفاده نماید. | |||
طراحی بصری فرانتاند آرک بر اساس الگوی راهنمای Material Design برای ایجاد رابط کاربری مدرن و سازگار با محیطهای مختلف است. همچنین طراحی فنی واکنشگرا (Responsive Design) تضمین میکند که رابط کاربری در دستگاهها و اندازههای صفحه نمایش مختلف به درستی نمایش داده شود. | |||
== | == پشته فناوری بکاند == | ||
پروژه از پشته فناوریهای زیر برای پیادهسازی اجزای مختلف استفاده میکند: | |||
# '''FastAPI''': فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا. | |||
# '''PostgreSQL''': پایگاه داده قدرتمند و قابل اطمینان برای ذخیرهسازی دادهها. | |||
# '''SQLAlchemy ORM''': یک ابزار تناظر روابط اشیاء (Object-Relational Mapper) برای تعامل با پایگاه داده. | |||
# '''Alembic''': ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده. | |||
# '''Nginx''': برای مسیریابی درخواستها، بارگذاری متعادل و ارائه محتوای استاتیک. | |||
# '''JWT (JSON Web Tokens)''': برای احراز هویت و رمزنگاری دادهها برای حفظ حریم خصوصی. | |||
# '''SSL/TLS (Let’s Encrypt)''': برای تأمین امنیت ارتباطات بین کاربران و سرور. | |||
# '''Systemd''': برای راهاندازی، مدیریت و نظارت بر سرویسها و فرایندهای بکاند و Nginx | |||
== | ==== پیشنیازها ==== | ||
بستههای نرمافزاری زیر برای راهاندازی بکاند حسابیکس آرک مورد نیاز هستند که توسط اسکریپت نصب به صورت خودکار نصب میشوند. | |||
# '''Git''': برای مدیریت سورس و دریافت کد بکاند | |||
# '''Python 3.10+:''' زبان مورد استفاده در بکاند از جمله فریمورک FastAPI | |||
# '''PostgreSQL''': پایگاه داده | |||
# '''Nginx''': مسیریابی و ارایه محتوا به درخواستها | |||
# '''Flutter SDK''': تولید صفحات و عناصر رابط کاربری برای فرانتاند | |||
توسط اسکریپت نصب به صورت خودکار نصب | # '''Certbot''': امنیت و رمزنگاری ارتباط | ||
همچنین کتابخوانههای دیگری مانند FastAPI در پایتون و فلاتر بکار گرفته میشوند که آنها نیز توسط اسکریپت نصب به صورت خودکار دریافت و نصب میگردند. | |||
== سیستم عامل == | ==== سیستم عامل ==== | ||
* Ubuntu 22.04+ | |||
* Debian 12+ | |||
نسخهٔ کنونی تا ۸ فروردین ۱۴۰۵، ساعت ۲۱:۵۹
حسابیکس آرک یک سیستم حسابداری کامل و مدرن است که از معماری میکروسرویسگونه برای ارائه قابلیتهای قدرتمند و انعطافپذیر استفاده میکند.
ترکیب سیستم سطح بالا
سیستم از اجزای اصلی زیر تشکیل شده است:
- فرانتاند: یک رابط کاربری وب مدرن که با Flutter پیادهسازی شده است و تجربه کاربری واکنشگرا و جذاب را ارائه میدهد.
- بکاند: با استفاده از FastAPI و PostgreSQL، وظیفه مدیریت دادهها، منطق تجاری و ارائه API را بر عهده دارد. همچنین صفحات و عناصر وب را برای فرانتاند تولید میکند.
فرانتاند
فرانتاند حسابیکس آرک مبتنی بر Flutter Web، فریمورک گوگل برای ساخت رابط کاربری وب زیبا و بومی از یک کد بیس واحد است. بنابراین کاربر میتواند به حسابیکس آرک بدون هیچ پیشنیازی بجز دسترسی به یک مرورگر و شبکه متصل به سرور بکاند، دسترسی داشته و از آن استفاده نماید.
طراحی بصری فرانتاند آرک بر اساس الگوی راهنمای Material Design برای ایجاد رابط کاربری مدرن و سازگار با محیطهای مختلف است. همچنین طراحی فنی واکنشگرا (Responsive Design) تضمین میکند که رابط کاربری در دستگاهها و اندازههای صفحه نمایش مختلف به درستی نمایش داده شود.
پشته فناوری بکاند
پروژه از پشته فناوریهای زیر برای پیادهسازی اجزای مختلف استفاده میکند:
- FastAPI: فریمورک وب پایتون برای ساخت APIهای سریع و با کارایی بالا.
- PostgreSQL: پایگاه داده قدرتمند و قابل اطمینان برای ذخیرهسازی دادهها.
- SQLAlchemy ORM: یک ابزار تناظر روابط اشیاء (Object-Relational Mapper) برای تعامل با پایگاه داده.
- Alembic: ابزار مهاجرت پایگاه داده برای مدیریت تغییرات شمای پایگاه داده.
- Nginx: برای مسیریابی درخواستها، بارگذاری متعادل و ارائه محتوای استاتیک.
- JWT (JSON Web Tokens): برای احراز هویت و رمزنگاری دادهها برای حفظ حریم خصوصی.
- SSL/TLS (Let’s Encrypt): برای تأمین امنیت ارتباطات بین کاربران و سرور.
- Systemd: برای راهاندازی، مدیریت و نظارت بر سرویسها و فرایندهای بکاند و Nginx
پیشنیازها
بستههای نرمافزاری زیر برای راهاندازی بکاند حسابیکس آرک مورد نیاز هستند که توسط اسکریپت نصب به صورت خودکار نصب میشوند.
- Git: برای مدیریت سورس و دریافت کد بکاند
- Python 3.10+: زبان مورد استفاده در بکاند از جمله فریمورک FastAPI
- PostgreSQL: پایگاه داده
- Nginx: مسیریابی و ارایه محتوا به درخواستها
- Flutter SDK: تولید صفحات و عناصر رابط کاربری برای فرانتاند
- Certbot: امنیت و رمزنگاری ارتباط
همچنین کتابخوانههای دیگری مانند FastAPI در پایتون و فلاتر بکار گرفته میشوند که آنها نیز توسط اسکریپت نصب به صورت خودکار دریافت و نصب میگردند.
سیستم عامل
- Ubuntu 22.04+
- Debian 12+