برنامه نویسی

Dask – برنامه مشترک Task Manager برای GitHub + DEV Hackathon

چیزی که من ساختم

در چارچوب هکاتون، تصمیم گرفتم یک اپلیکیشن موبایل بسازم که می تواند به همه کمک کند:

  • وظایف خود را سازماندهی کنند پروژه های شخصی، و پروژه های آنها در تلفن همراه ذخیره می شود، نه در ابر.
  • روی پروژه مشابهی با افراد زیادی مانند Trello و Jira کار کنید، بنابراین برنامه در زمان واقعی کار می کند. در این حالت، پروژه ها در فضای ابری ذخیره می شوند و برای همه اعضای پروژه به اشتراک گذاشته می شوند.

اینها دو نکته اصلی هستند که درخواست من به آن اشاره کرد داشبورد به مردم ارائه می دهد.

ارسال دسته:

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

تلفن دوستانه: پروژه های ساخته شده برای موبایل (آمادگی PWA، iOS/Android)

لینک برنامه

نسخه اندروید برنامه از این پوشه Google Drive در دسترس است: https://drive.google.com/drive/folders/1M-2RGXzBcHROBmSufHQ4We_Odo3-oTkz?usp=sharing

برای نسخه Ios، من آن را تولید نکردم زیرا مک بوک و آیفون نداشتم. اما می‌توانیم از کد منبع برای تولید آن استفاده کنیم، زیرا با یک ابزار متقابل پلتفرم (React Native) ساخته شده است.

اسکرین شات ها

صفحه ثبت نام

توضیحات تصویر

صفحه نمایه

توضیحات تصویر

پروژه های شخصی

توضیحات تصویر

یک پروژه شخصی یا مشترک ایجاد کنید

توضیحات تصویر

تغییر وضعیت یک کار

توضیحات تصویر

یک کار را حذف کنید

توضیحات تصویر

صفحه پروژه های مشترک

توضیحات تصویر

وظایف یک پروژه مشترک

توضیحات تصویر

توضیحات تصویر

اعضا

توضیحات تصویر

توضیحات تصویر

شرح

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

برای پروژه های مشترک در بخش، ابتدا باید به حساب کاربری خود متصل شوید و پس از ایجاد یک پروژه مشترک (که انجام آن بسیار آسان است)، می توانید با جستجوی نمایه افراد دیگر بر اساس آدرس ایمیل آنها، آنها را به پروژه دعوت کنید. و سپس، اگر در یک پروژه مشترک خاص، 3 عضو در واقع متصل هستند، اگر یکی برای مثال:

  • یک کار جدید اضافه کنید
  • یک کار را حذف کنید
  • وضعیت یک کار را به روز کنید
  • مالک یک عضو جدید اضافه می کند

بقیه اعضا مستقیماً مطلع می شوند و بدون رفرش کردن برنامه، به روز رسانی را در تلفن همراه خود مشاهده می کنند.

پیوند به کد منبع

مجوز مجاز

با

پس زمینه (چه چیزی باعث شد تصمیم به ساخت این برنامه خاص بگیرید؟ چه چیزی الهام بخش شما شد؟)

چیزی که من را برای تحقق بخشیدن به این پروژه ترغیب کرد، این بود که ما زنان زیادی (مثلاً 10) داریم که می‌خواهند بازار را برای برگزاری مراسم عروسی انجام دهند. همه ما می دانیم که فقط یک نفر نمی تواند این کار را انجام دهد، بنابراین ما باید خیلی زیاد باشیم تا سریع برویم. و همچنین، چیزهایی که قرار است خریداری شوند، نمی توانند در یک مکان باشند، سپس ما باید در بسیاری از جاها برویم تا چیزی را که می خواهیم بخریم، پیدا کنیم.

بسیار خوب، در حال حاضر آسان نیست بدانید که آیا یک چیز خریداری شده است یا خیر، و اگر زنی چیزی را که قرار بود بخرد را پیدا نکند، نمی تواند بقیه خانم ها را مطلع کند تا به آنها هشدار دهند، جدای از اینکه تصمیم بگیرد با آنها تماس بگیرد. هر زن مشکل ساز است. مسائلی از این دست وجود دارد که من را ترغیب کرد تا متوجه شوم Dask – یک مدیر وظیفه مشترک.

در Dask، می‌توانید وظایف خود را در پروژه‌ها سازماندهی کنید، افراد را به همکاری دعوت کنید، و همه اعضا اعلان‌ها را دریافت می‌کنند و می‌بینند که چه چیزی در پروژه تغییر کرده است، بسیار جالب است.

چگونه آن را ساختم (چگونه از GitHub Actions یا GitHub Codespaces استفاده کردید؟ آیا در طول مسیر چیز جدیدی یاد گرفتید؟ مهارت جدیدی را انتخاب کردید؟)

برای پروژه برنامه تلفن همراه، من یک GitHub Codespaces ایجاد می کنم، جایی که یک ظرف خاص را که مطابق با نیاز پروژه من است، پیکربندی می کنم. بنابراین، من:

  • یک کانتینر را با Nodejs + TypeScript راه اندازی کردم زیرا برنامه React Native من در بالای آنها مقداردهی اولیه شده است.
  • برخی از برنامه‌های افزودنی مانند Prettier، GitHub Copilot و غیره را نصب کردم که به من در کدنویسی سریع‌تر کمک می‌کنند.
  • من سرور توسعه را راه اندازی کردم و برنامه تلفن همراه را مستقیماً روی دستگاه سخت خود آزمایش کردم و بسیار خوب کار می کند.

در حین کار روی این پروژه بسیار خوشحال بودم، چیزهای جدیدی یاد گرفتم. اولاً من قبلاً چیزی در مورد GitHub Codespace نمی دانستم، اما پس از تماشای ویدیوها در آن، نحوه استفاده و پیکربندی آن را یاد گرفتم.
همچنین، من یاد گرفتم که چگونه Firebase را برای React Native تنظیم کنم، کاری که هنوز انجام نداده بودم، نتیجه اگر وای باشد.
در نهایت، این اولین بار است که رفتار بیدرنگ را در یک برنامه React Native تنظیم می کنم و بسیار خوب کار می کند.

در پایان، چیزهای زیادی یاد گرفتم، از این فرصت متشکرم 🙂

منابع/اطلاعات اضافی

فن آوری های مورد استفاده

  • React Native برای اپلیکیشن موبایل
  • Firebase برای باطن (برای حساب کاربران ذخیره شده، پروژه ها و وظایف مشترک استفاده می شود)
  • Nodejs + Socket.io برای رفتار بلادرنگ
  • SQLite برای مدیریت پایگاه داده محلی در برنامه تلفن همراه (برای ذخیره پروژه شخصی استفاده می شود)
  • GitHub، برای ذخیره پروژه به صورت آنلاین و همکاری آسان با افراد دیگر استفاده می شود
  • فیگما، برای تحقق طراحی های UI استفاده می شود

همکاران

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا