توسعه API لاراول برای انتقال داده ها از فایل SQLite ذخیره شده در S3 لیارا به پایگاه داده MySQL
در سراسر کشور
در وبسایت پارسکدرز(چند ساعت پیش)
دورکاری
اطلاعات شغل:
امکان دورکاری و کار در منزل: دارد
نوع همکاری: پروژهای
مهارتهای مورد نیاز:
MySQL
PHP
لاراول (Laravel)
MySQL
SQL
تحقیق (Research)
ورود داده (Data Entry)
مهندسی نرم افزار (Software Engineering)
بازه حقوق:از 750,000 تا 5,000,000 تومان
متن کامل آگهی:
شرح کلی پروژه:
ما قصد داریم اطلاعات حدود 20 هزار کاربر موبایل را از پایگاه دادههای SQLite محلی آنها به یک پایگاه داده MySQL آنلاین منتقل کنیم. فرآیند کلی به این صورت است که کاربر فایل پایگاه داده SQLite خود را که شامل سه جدول (چک، بانک و دستهچک) است، آپلود میکند. سپس، کاربر یک نوار پیشرفت را مشاهده میکند که نشان میدهد چه مقدار از دادهها در سرور ثبت شده است.
نیازمندیهای پروژه:
توسعه یک تابع در Laravel: این تابع باید فایل SQLite آپلود شده توسط کاربر را از S3 لیارا بخواند. سپس، برای هر رکورد در جداول "چک"، "بانک" و "دستهچک" یک UUID منحصر به فرد ایجاد کند و با حفظ ارتباط بین جداول، دادهها را به پایگاه داده MySQL آنلاین منتقل کند.
ایجاد API برای نمایش پیشرفت: یک API باید ایجاد شود تا میزان پیشرفت فرآیند import دادهها به کاربر نمایش داده شود. این API باید قادر باشد اطلاعات مربوط به تعداد رکوردهای پردازش شده و تعداد کل رکوردها را ارائه دهد تا کاربر بتواند درصد پیشرفت را مشاهده کند. و همچنین در صورت بروز خطا یا مشکلی کاربر مطلع شود که اطالاعات به درستی وارد سرور نشده است.
مدیریت بانکها: در جدول "بانک" در پایگاه دادههای SQLite دو نوع بانک وجود دارد: بانکهای پیشفرض (شامل 32 بانک رسمی بانک مرکزی) و بانکهای شخصی کاربر. قبل از اضافه شدن بانکهای موجود در فایل SQLite، لیست بانکهای پیشفرض موجود در پایگاه داده MySQL بررسی و با لیست ارائه شده به شما (شامل اطلاعات بهروز بانکهای رسمی) جایگزین شود. بانکهای شخصی کاربر بدون تغییر اضافه شوند. این فرآیند باید به گونهای انجام شود که ارتباط بین جداول "بانک"، "چک" و "دستهچک" حفظ شود.
مشخصات فنی:
فریمورک: Laravel 10
پایگاه داده: MySQL 8
فضای ذخیرهسازی: S3 لیارا
حجم دادهها: هر فایل SQLite میتواند شامل 1 تا 20 هزار رکورد باشد. تخمین زده میشود که حجم هر فایل بین 10 تا 50 مگابایت باشد.
جداول: سه جدول "چک"، "بانک" و "دستهچک" با روابط مشخص (هر بانک میتواند چندین چک و دستهچک داشته باشد). روابط بین جداول از نوع یک به چند است و foreign keyها به درستی تعریف شدهاند.
نیازهای خاص: API باید قابلیت retry داشته باشد تا در صورت بروز خطا، فرآیند import دوباره انجام شود. همچنین، logهای مربوط به فرآیند انتقال داده باید ذخیره شوند تا در صورت نیاز بتوان آنها را بررسی کرد.
نکات مهم:
ارتباط جداول در فرآیند انتقال داده بسیار مهم است و باید به دقت حفظ شود.
UUIDها باید به گونهای ایجاد شوند که از تکراری نبودن آنها اطمینان حاصل شود.
انجام فرآیند import دادهها به صورت Transactional و rollback در صورت بروز خطا الزامی است.
همکاری و تعامل با تیم توسعه برای ادغام این بخش با پروژه اصلی ضروری است.
اطلاعات تکمیلی:
فایلهای نمونه پایگاه داده SQLite (همراه با migrationها و مدلهای Laravel) و پایگاه داده MySQL سرور در اختیار شما قرار خواهد گرفت.انتظار داریم که کد تمیز، قابل نگهداری و با رعایت اصول SOLID نوشته شود.با تشکر از شما برای مطالعه این درخواست پروژه. در صورت وجود هرگونه سوال، لطفا با ما ارتباط برقرار کنید.
این آگهی از وبسایت پارسکدرز پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پارسکدرز برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.