آلگت

استخدام برنامه‌نویس ارشد Back-end

آلگت
تهران

فرصت شغلی
درباره شرکت

تکنولوژی‌ها

    APIKotlinPostgreSQLFirebaseKubernetes

شرکت آلگت یک استارتاپ مستقر در کشور هلند است که به منظور تکمیل بخشی از سیستم بک اند، به دنبال توسعه دهنده حرفه‌ای (senior)، با حداقل ۵ سال سابقه کار به عنوان توسعه دهنده بک اند می‌باشد.

• کار به شکل دورکاری امکان پذیر است.
• ارائه نمونه کارهای قبلی الزامی است.

نحوه تحویل:
برای تحویل پروژه، کد به صورت کامل تحویل گرفته می‌شود. با توجه به اینکه بخشی از این پروژه پیاده سازی شده است، کد روی ریپازیتوری شرکت تحویل گرفته می‌شود. همچنین پروژه فازبندی می‌گردد و تحویل پروژه به صورت فاز به فاز روی می‌دهد. زمان پیشنهادی برای اتمام این پروژه ۴۰ ساعت کاری معادل یک هفته کار تمام وقت در نظر گرفته شده است.
توضیحات پروژه:
به صورت کلی در این پروژه نیاز به پیاده سازی سرویس‌های زیر می‌باشد که باید به صورت API، جهت استفاده توسط اپلیکیشن موبایل، دلیور شوند.

  • Notify delivery buddy to register his delivery status
  • Register delivery status of a delivery buddy
  • Show delivery status (picked up from sender, on the way, delivered) to package receiver
  • Send/receive delivery status (picked up, on the way, delivered) from delivery body
  • Send/receive delivery status (picked up, on the way, delivered) to/from customer
  • Calculate distance based on delivery buddy's vehicle type and distance (using Google API)
  • Register delivery buddy information to create account
  • Change delivery buddy active status (on/off)
  • Keep the location of active delivery buddies
  • Messaging with the customer and package sender (will happen via app)
  • Reporting (activity history and money history)
  • Withdrawal an accepted delivery order with reasons,
  • Wallet management (besides viewing the history, he may be able to transfer money from this wallet to his account)
  • Rating by receivers, senders, and admin. (package receiver and sender my rate the behavior and timing of the buddy. Admin calculates a rate automatically based on the activity of a buddy; e.g. number of accepted orders, number of canceled orders after acceptance, number of complaints by sender/receiver, …)
  • Price calculations (based on the distance, vehicle type). This has to be a table in the Database to be editable by admin.

توضیحات بیشتر:

  • در این سیستم، delivery buddy به صورت فریلنسر می‌توانند delivery را انجام دهند (چیزی شبیه اسنپ یا الو پیک).
  • ثبت نام delivery buddy در سیستم و آپلود مدارک ضروری است (ذخیره در دیتابیس). اکانت delivery buddy پس از رجیستر کردن باید توسط ادمین تایید شود تا پیک بتواند وارد سیستم شود.
  • پیک باید بتواند هر زمان که تمایل داشت، وضعیت on/off خود را تغییر دهد.
  • پیک‌ها می‌توانند وسیله نقلیه متفاوتی داشته باشند (در نتیجه محاسبه زمان و حوزه delivery و هزینه بر اساس آن انجام می‌شود). این موارد در دیتابیس موجود است و هنگام رجیستر کردن delivery buddy، این اطلاعات از او گرفته خواهد شد.
  • delivery buddy باید وضعیت خود را به روز رسانی کند (دریافت بسته از مبدا، تحویل بسته به مشتری، کنسل کردن delivery).
  • ارسال نوتیفیکیشن به اپلیکیشن مشتری برای تایید تحویل بسته و دریافت تایید دریافت بسته توسط مشتری نیز نیاز است.
  • ارسال نوتیفیکیشن به delivery buddy جهت آماده شدن برای delivery (۱۵ دقیقه پیش از شروع زمان delivery) باید انجام شود.
  • امکان مشاهده مسیر delivery buddy توسط مشتری و توسط ادمین سیستم در طول زمان ارسال بسته (مانند اسنپ باکس).
  • امکان messaging با سرویس مشتری، ادمین و فرستنده بسته (این مورد قبلا برای پروژه دیگری پیاده سازی شده است و کد این بخش در اختیار شما قرار خواهد گرفت).
  • کیف پول (گزارش میزان کارکرد، جمع کل کارکرد (مسافت و درآمد)، جمع کل پرداخت شده به حساب شخصی فرد، جمع کلی باقیمانده در کیف پول، پرداخت دستی (خارج از پرداخت اتوماتیک جهت انتقال پول از کیف پول به حساب شخصی)، گزارش گیری با فیلترهای مختلف روز، زمان، مکان).
  • مشاهده گزارش کار (به جز وضعیت delivery‌های موفق، delivery buddy باید بتواند تعداد سفرهای کنسل شده، تعداد سفرهای موفق ، تعداد delivery buddy‌های تایید شده/نشده) توسط delivery buddy.
  • تمامی وضعیت‌ها باید در سیستم log شوند.

**دیتابیس مربوط به بخش دلیوری با مشورت با تیم آلگت طراحی می‌شود. API‌های لازم از بخش ادمین آماده استفاده می‌باشند.

**قسمت فرانت اند دولوپ شده است. بنابراین با تحویل هر سرویس، می‌توان آنرا به قسمت فرانت متصل کرد و تست کامل انجام داد.

زبان برنامه نویسی و تکنولوژیهایی که باید استفاده شوند (مهارت‌های ضروری):

  • Kotlin

  • Firebase (for authentication)

  • Kubernetes

  • PostgreSQL

  • Ktor

  • Restful API

مهارت‌های امتیازی:

  • آشنایی با google cloud مزیت می‌باشد. (گوگل کلاود به صورت کامل ست آپ شده است. در نتیجه زمان کوتاهی جهت onboarding نیاز خواهید داشت.)

مزایا

  • پرداخت حقوق رقابتی
  • امکان ارتقای شغلی
  • امکان دورکاری
  • اجرای پروژه‌های بین‌المللی