پرش به محتوای اصلی
سوپر اپ تیکتا favicon

سوپر اپ تیکتا

محمد حسین میرزایی

سوپر اپلیکیشن اسنپ ولی تخصصی در استان قزوین حتی با امکانات بیشتر از اسنپ، به نام سوپر اپ تیکتا قرار بود باشه که پروژه کنسل شد.

Figma

Angular

Tailwind CSS

JS

Node JS

Moleculer JS

Redis

Postgre SQL

5 عضو تیم

لغو شد

سوپر اپ تیکتا یکی از پر چالش ترین و پیچیده ترین پروژه هایی بود که طی سال های کاریم در شرکت راش آیین اطلس غرب داشتم. این پروژه از ۸ اپلیکیشن تشکیل شده بود و ما توانستیم در ۴۵ روز و فقط با ۴ نفر + ۱ کارآموز پیاده سازی کنیم و تا مرحله اجرایی و عملیاتی پیش بریم.

نقش من

من ساختار پیاده سازی این سوپر اپلیکیشن را به صورتی جدا و تقسیم بندی کردم که سریع تر و راحت تر بتوانیم به نتیجه برسیم.

  1. با کمک تیم تمامی قابلیت ها، ویژگی ها، رفتار ها و اهداف هر اپلیکیشن را جداگانه پیدا کردیم.
  2. من با استفاده از نرم افزار Figma، یک دیزاین سیستم مشخصی برای کل این پروژه طراحی کردم. رنگ ها، کامپوننت ها و اِلمان ها، رفتار ها، فونت و تایپوگرافی و غیره در این مرحله ایجاد و تایید شدند.
  3. سپس تمامی صفحه ها را با دیزاین سیستم در Figma طراحی کردم و پیاده سازی کردم.
  4. هر اپ را با فریم ورک Angular کد نویسی کردم.
  5. برای اتصال به بک اند، من یه اسکریپتی نوشتم که مستندات API را می خواند و کد SDK ای با Typescript جهت یکپارچگی با Angular و رعایت typesafe به صورت خودکار تولید می شد.
  6. اتصالات به بک اند انجام می شد و از طریق CI/CD که با Gitea پیاده سازی کرده بودیم، انتشار می شد.

مدیریت تسک ها

هیچ نرم افزار یا فرد خاصی جهت مدیریت تسک ها و وظایف نداشتیم. هر هفته ۲ تا ۴ جلسه طوفان فکری داشتیم و تمامی تسک ها در جلسات مشخص می شد و روی تخته ی سفید نوشته و انجام میشد.

بله یک تخته سفید برای مدیریت این پروژه کافی بود.

اعضای تیم

با تشکر فراوان از همه دوستان و همکارانی که در این پروژه نقش داشند.

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

ساعت کاری

بیشتر این پروژه فقط کد هایی بود که باید نوشته می شدند. برای رسیدن به هدف زمانی که ۴۵ روز بود، من و آقای یاحقی از ساعت ۹ یا ۱۱ صبح تا ۱۲ شب بطور مداوم کار می کردیم.

اپلیکیشن ها

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

سوپر اپ

اپلیکیشنی که تمامی اپلیکیشن ها را در خودش جای گرفته بود و کاربر اپلیکیشن های دیگر را داخل این اپلیکیشن باز می کرد.

پیاده سازی فنی

  • مدیریت اپلیکیشن ها : اپلیکیشن ها به صورت iframe باز می شدند و اپلیکیشن ها می توانستند پیام های را به سوپر اپلیکیشن ارسال و دریافت کنند.
  • داینامیک کامپوننت : در صفحه اول از سیستم داینامیک کامپوننت استفاده میشد که کامپوننت ها و دیتا های آن ها از سمت بک اند ارسال می شد و ما در فرانت رندر و نمایش می دادیم.
  • حساب کارری یکپارچه : ثبت نام و ورود به حساب کاربری ، ویرایش پروفایل و مدیریت و تعریف آدرس ها توسط سوپر اپ انجام می شد و هر تغییری در دیگر اپلیکیشن ها اعمال می شد.
  • کیف پول : کاربران می توانستند پرداختشان را با کیف پول انجام دهند و می توانستند تفکیک هزینه ها را بر اساس اپلیکیشن ها به صورت ماهانه داشته باشند.

حمل و نقل

این اپلیکیشن به ۲ اپلیکیشن دیگر یعنی سفیر و مسافر تبدیل شد.

  • اپلیکیشن سفیر درخواست ها به او ارسال میشد و او انجام میداد و امتیاز و درآمد کسب می کرد.
  • کاربران در اپلیکیشن مسافر می توانستند درخواست پیک، تاکسی و وانت بکنند.

پیچیدگی

سیستم محاسباتی قیمت پیچیده ترین بخش این اپلیکیشن بود که در روش حمل و نقل وانتی باید از کاربر نوع بار و محموله رو می پرسیدیم و تعداد کارگر ها انتخاب و محاسبه و نرخ گذاری میشد. علاوه بر آن وضعیت آب و هوا و مسیر و ترافیک بر پارامتر های قیمت گذاری تاثیر می گذاشت.

سوپرمارکت آنلاین

قبل از اینکه سوپر اپلیکیشن تیکتا شروع شود، این شرکت یک سوپرمارکت فیزیکی به نام تیکتا مارکت داشت. این اپلیکیشن هدف ایجاد روشی برای خرید آنلاین اقلام سوپر مارکتی بود.

درمورد پروژه تیکتا مارکت بیشتر بخوایند.

پیچیدگی

  1. سیستم ما نیاز داشت که بداند در انبار چقدر از محصولات موجود است و هر خرید باید فاکتور ایجاد میشد و اعلام کسر از انبار میزد.
  2. سفارشی که آماده ارسال بود به صورت خودکار یک درخواست به اپلیکیشن پیک سفیر می کرد.
  3. هیچ کدام از محصولات تصویر نداشتند و ما برای محصولات تصویر انتخاب می کردیم.
  4. رسپانسیو بودن که هم به عنوان وبسایت و هم به عنوان اپلیکیشن استفاده شود.

پیاده سازی فنی

  • اتصال به نرم افزار انبار داری : ما بخش انبارداری را ننوشتیم و با کمک API به نرم افزار انبارداری سوپرمارکت وصل شدیم و موجودی محصولات رو دریافت می کردیم و نمایش می دادیم و در ثبت سفارش از انبار کم می شد.
  • اتصال به نرم افزار حساب داری : هر سفارشی که با موفقیت پرداخت و ثبت می شد یک فاکتور ایجاد می شد.
  • جمع آوری و فرمت دیتا ها : تمامی محصولات که از نرم افزار انبار خوانده می شد با دیتابیس تصاویر جمع آوری و فرمت می شد.

فود و غذا

یک اپلیکیشن و سایت برای ثبت سفارش غذا ساخته شده بود که کاربران می توانستند سفارش غذای خود را ثبت کنند و غذا را توسط پیک تیکتا دریافت بکنند.

این اپلیکیشن پیچیدگی فنی زیادی نداشت چون بخش بزرگی از آن در سوپرمارکت نوشته شده بود و ما از همان سورس سوپر مارکت با تغییر رابط کاربری و تجربه کاربری این اپلیکیشن و سایت را پیاده سازی کردیم.

خرید شارژ و پرداخت

خرید انواع شارژ برای سیم کارت و پرداخت قبوض یکی از خدمات تیکتا بود که با نام تیکتا پی شناخته می شد.

پیچیدگی

  • پیدا کردن یک پروایدر که بتواند API هایی برای پرداخت را برای ما فراهم کنند.

این اپلیکیشن در مرحله تحقیق کنار گذاشته شد تا در زمان دیگری به این اپلیکیشن بپردازیم.

پروایدری که پیدا کردیم یکی از استارتاپ های بانک پاسارگارد در ایران بود.

سفر

شرکت راش آیین اطلس غرب با روابطی که با شرکت هفت اورنگ داشت؛ API هایی برای خرید بلیط هواپیما، قطار، اتوبوس، هتل داشت. این اپلیکیشن تا مرحله دریافت بلیط و ریفاند و کنسل کردن تکمیل شد.

چالش ها

  • فیلتر کردن نتایج
  • تجربه کاربری بهتر در فرم ها

خشک شویی آنلاین

کاربران می توانستند درخواست خشکشویی برای لباس هایشان بکنند. که تمامی فرایند حمل و نقل توسط تیکتا پیک انجام میشد و قرار داد هایی که خشکشویی ها داشتیم.

این اپلیکیشن در مرحله تحقیق کنار گذاشته شد تا در زمان دیگری به این اپلیکیشن بپردازیم.

نتیجه نهایی

پس از ۴۵ روز تلاش بی وقفه، در جلسه ارائه به دلیل پیچیدگی کار و سختی مدیریت نهایی کل سوپر اپ تیکتا، پروژه کنسل شد.

تجربیات

برای من این ۴۵ روز پر از تجربیات مفید و جدید بود.

  1. من می توانم یک پروژه ای با حجم کاری زیاد را در ۴۵ روز ایجاد کنم.
  2. درک از محدودیت ها و چقدر می توانم سریع و هوشمند باشم و چطور با اولویت بندی و تقسیم کردن مدیریت بهتری داشته باشم.
  3. اینکه بدون نیاز به نرم افزار یا قوانین خاصی، تسک ها و وظایف خودم مدیریت کنم.
  4. یک نرم افزار نیاز نیست ایده عال و کمالگرایانه شروع بشه، میشه با ساده ترین حالت ایجاد بشه و آرام به نسخه کامل خودش تبدیل بشه.
  5. توانایی پیاده سازی من در کد ها و ساختار های داینامیک. مانند داینامیک کامپوننت و اسکریپت تبدیل API به SDK.

نظر نهایی

با اینکه این پروژه یک پروژه چالشی و پر ریسک بود اما نظر من اینکه نیاز نیست که یک ایده رو به ایده عال ترین حالتش برسونیم و بعد ساعت ها خودمون رو زیر فشار غرق بکنیم تا به نتیجه برسیم. ما می توانستیم با انجام دادن یک بخش از این پروژه، مثلا سوپرمارکت تیکتا، به یک نتیجه بهتری برسیم.