تعریف پروژه:

هدف از این پروژه مدیریت امالک میباشد و دارای نقش های متنوعی از سرویس دهندگان و سرویس گیرندگان میباشد. در این پروژه سعی شده است تا تمام نیازهای مرتبط با نقل و انتقاالت ملکی خصوصا در زمینه اجاره امالک پوشش داده شود و کاربر بتواند عالوه بر تعریف خصوصیات هر ملک و Broker ها و مشتریان ، فرایند اجاره ملک و زمان بندی های بیزینسی مرتبط را مدیریت کند و بتواند ابالغ های مورد نیاز برای موارد خاص را ایجاد نماید و گزارش های الزم را از سیستم دریافت نماید.

تاریخچه پیاده سازی:

این پروژه در ابتدا در نرم افزار Access پیاده سازی شده است. زبان های استفاده شده در این پروژه 6VB و SQL بود و فرم ها در قالب Access پیاده سازی شده است. به دلیل استفاده از Access پروژه دارای پیچیدگی هایی از لحاظ Query ها است و تمام بیزینس پروژه در قالب کوئری مدیریت شده است. کالینت تصمیم به بازنویسی پروژه میگیرد و بازنویسی در قالب 12 Angular و Net. پیاده سازی شده است و بانک اطالعاتی نیز Server Sql انتخاب شده است.

انتقال و توسعه پروژه:

هنگام تحویل پروژه به تیم ما برخی از بیزینس ها پیاده سازی شده بود و سعی بر این شده بود که همان ساختار Access در قالب Angular پیاده سازی شده و جداول نیزکانورت شده بود اما همه فیلد ها و جداول تغییر نام یافته بود و در برخی موارد جداول با یکدیگر ترکیب شده بود. چالش اصلی پروژه این بود که کالینت درخواست فیچرهای جدید را داشت در حالی که ورژن جاری با مشکالت زیادی روبرو بود که یکی از این اشکاالت کال شدن تعداد بسیاری Api در صفحه اول پروژه و کندی بسیار زیاد و خطاهای زیاد بود.

انتقال و توسعه پروژه:

هنگام تحویل پروژه به تیم ما برخی از بیزینس ها پیاده سازی شده بود و سعی بر این شده بود که همان ساختار Access در قالب Angular پیاده سازی شده و جداول نیزکانورت شده بود اما همه فیلد ها و جداول تغییر نام یافته بود و در برخی موارد جداول با یکدیگر ترکیب شده بود. چالش اصلی پروژه این بود که کالینت درخواست فیچرهای جدید را داشت در حالی که ورژن جاری با مشکالت زیادی روبرو بود که یکی از این اشکاالت کال شدن تعداد بسیاری Api در صفحه اول پروژه و کندی بسیار زیاد و خطاهای زیاد بود.

درک بیزینس و اضافه کردن فیچرها به پروژه هدف اصلی در نظر گرفته شد و فیچرهای جدید زیر به پروژه اضافه
شد:

  • Invoice
  • CPI
  • Calculate Adjustments
  • TICAM
  • Expense
  • Collection

هر کدام از فیچرهای فوق دارای مجموعه از گزارش ها نیز است و دارای بیزینس هایی است که به یکدیگر مرتبط
هستند.
به موازات اضافه شدن فیچرها ، به درخواست کالینت ، فیچرهای قبل پروژه هم به دلیل نقص در پیاده سازی
اصالح شدند. در هنگام اصالح متوجه این موضوع شدیم که در طراحی لیست های پر شده توسط Api ها اشتباه
طراحی وجود دارد و کامپوننتی به نام Lookup طراحی شد تا سرعت و یکپارچگی در تولید فیچرها ایجاد شود
و بدین ترنیب حجم کدها را کاهش دادیم.

بازمهندسی پروژه:

پس از اتمام فاز انتقال و توسعه ، کالینت بازمهندسی ساختار پروژه را درخواست نمودند. در این فاز با بررسی
های انجام شده از 6 Net. ، انگوالر 15 و Tailwind استفاده شد. همچنین تم Fuseخریداری شد و در
پروژه استفاده گردید. در ادامه لیست تغییرات انجام شده لیست شده است:
ایجاد ماژول احراز هویت بر مبنای Token Jwt
ایجاد گارد برای تمای Route ها
به روزرسانی فرانت اند به 15 Angular
به روزرسانی بک اند به 6Net
ایجاد یک Layout مرکزی
ایجاد یک Theme Manager
ایجاد کانتینر برای تمامی Routeها
استفاده از Observableها برای ارتباط بین کامپوننت ها
کانورت تمامی فرم های اپلیکیشن و انتقال به ساختار جدید
تبدیل تمامی استایل ها به کالس های Tailwind
تغییر ساختار صفحه اصلی جستجوی اپلیکیشن