در این تسک، زیرساخت Backend مربوط به دریافت تاریخچه کامل مالکیت و خرید و فروش املاک توسعه داده خواهد شد تا شهروندان بتوانند سوابق مالکیت هر ملک را از زمان ایجاد تا آخرین انتقال مالکیت مشاهده نمایند.
تاریخچه مالکیت یک ملک، بخشی از اطلاعات دائمی و غیرقابل تغییر سامانه است و هیچ کاربری، مدیر سامانه یا مالک فعلی امکان ویرایش، حذف یا تغییر سوابق آن را نخواهد داشت. این اطلاعات صرفاً در زمان انجام تراکنشهای انتقال مالکیت بهصورت خودکار توسط سیستم ثبت میشوند.
هدف از این API ایجاد شفافیت در سوابق املاک، نمایش زنجیره کامل مالکان و ثبت دائمی تمامی انتقالهای مالکیت است.
اهداف
-
ایجاد API دریافت تاریخچه کامل مالکیت ملک
-
نمایش تمامی انتقالهای مالکیت از زمان ایجاد ملک
-
نمایش اطلاعات مربوط به هر خرید و فروش
-
پشتیبانی از صفحهبندی (Pagination)
-
مستندسازی کامل API در Swagger
وظایف Backend
۱. توسعه API دریافت تاریخچه مالکیت
ایجاد Endpoint جهت دریافت تاریخچه کامل یک ملک بر اساس شناسه ملک.
ورودی:
خروجی شامل تمامی سوابق مالکیت از اولین مالک تا آخرین مالک خواهد بود.
۲. اطلاعات هر رکورد تاریخچه
هر رکورد تاریخچه باید شامل اطلاعات زیر باشد:
-
ردیف
-
شناسه انتقال
-
شناسه ملک
-
شناسه مالک
-
نام کاربری یا شناسه شهروند مالک
-
تاریخ و زمان انتقال مالکیت
-
نوع انتقال
-
قیمت معامله
-
نوع واحد پرداخت
-
متراژ ملک
-
کاربری ملک
۳. ثبت اولین رکورد
در اولین رکورد تاریخچه:
-
مالک اولیه (سیستم یا صندوق یا هر مالک اولیه)
-
تاریخ ایجاد ملک
-
قیمت اولیه ملک
-
متراژ
-
کاربری
ثبت گردد.
۴. ثبت انتقالهای مالکیت
پس از هر خرید و فروش، سیستم بهصورت خودکار رکورد جدیدی به تاریخچه اضافه نماید.
اطلاعات هر انتقال شامل:
-
مالک جدید
-
تاریخ انتقال
-
قیمت معامله
-
نوع پرداخت
باشد.
۵. نوع پرداخت
در هر انتقال، نوع پرداخت نیز ذخیره و بازگردانده شود.
مقادیر قابل پشتیبانی:
-
PSC
-
ریال
-
پرداخت ترکیبی (PSC + ریال)
در صورت پرداخت ترکیبی، مقدار هر واحد نیز در اطلاعات تراکنش ذخیره گردد.
۶. غیرقابل تغییر بودن تاریخچه
تاریخچه مالکیت باید دارای ویژگیهای زیر باشد:
-
عدم امکان ویرایش
-
عدم امکان حذف
-
عدم امکان تغییر ترتیب رکوردها
-
ثبت خودکار صرفاً توسط سیستم
هیچ Endpoint جهت ویرایش یا حذف این اطلاعات ایجاد نگردد.
۷. صفحهبندی (Pagination)
بهمنظور جلوگیری از افزایش حجم پاسخ API، نتایج باید از Pagination پشتیبانی نمایند.
پارامترهای ورودی:
همراه با اطلاعات زیر بازگردانده شود:
-
تعداد کل رکوردها
-
شماره صفحه
-
تعداد صفحات
-
تعداد رکورد هر صفحه
۸. مرتبسازی
اطلاعات تاریخچه بهصورت پیشفرض بر اساس تاریخ انتقال از قدیمیترین رکورد به جدیدترین رکورد نمایش داده شوند تا زنجیره مالکیت بهترتیب زمانی قابل مشاهده باشد.
۹. امنیت
تنها اطلاعات تاریخچه همان ملک درخواستشده بازگردانده شود.
تمامی عملیات دریافت اطلاعات باید مطابق سطح دسترسیهای تعریفشده در سامانه انجام گردد.
۱۰. مستندسازی API
تمامی Endpointها در Swagger مستندسازی شوند.
مستندات شامل:
-
Method
-
URL
-
Path Parameters
-
Query Parameters
-
Response Model
-
Status Code
-
Error Responses
-
نمونه درخواست و پاسخ
خروجی مورد انتظار
-
API دریافت تاریخچه مالکیت املاک
-
نمایش کامل زنجیره انتقال مالکیت از زمان ایجاد ملک
-
نمایش اطلاعات هر خرید و فروش شامل مالک، قیمت، نوع پرداخت، تاریخ انتقال، متراژ و کاربری
-
پشتیبانی از Pagination
-
جلوگیری کامل از ویرایش یا حذف تاریخچه
-
مستندسازی کامل Swagger
-
آمادهسازی زیرساخت برای نمایش تاریخچه مالکیت در صفحات جزئیات املاک متاورس رنگ.
ویدیو توضیحات:
https://drive.google.com/file/d/1-cUktpppjEPkqmJobBTH7AJb1dEjfwNg/view?usp=sharing