Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

برنامه‌ریزی و مدیریت نوبت‌ها رویال | Royal Timing

مجوز

فهرست مطالب

About

📅 برنامه‌ریزی و مدیریت نوبت‌ها

یک ابزار ساده، کاربردی و انعطاف‌پذیر برای برنامه‌ریزی و مدیریت نوبت‌ها بر اساس روز، هفته، ماه و سال.

GitHub License GitHub Stars GitHub Issues Last Commit


📖 درباره پروژه

برنامه‌ریزی و مدیریت نوبت‌ها یک نرم‌افزار برای ایجاد، مدیریت و مشاهده برنامه‌های نوبتی بین چند نفر است.

این پروژه با هدف ساده کردن فرآیندی ساخته شده که معمولاً با استفاده از فایل‌های Excel، جدول‌های دستی یا حتی کاغذ انجام می‌شود.

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


💡 داستان شکل‌گیری پروژه

این پروژه از یک نیاز کاملاً واقعی و خانوادگی شروع شد.

برای نوبت‌بندی بین فرزندان مادربزرگم، لازم بود مشخص شود که هر روز یا هر نوبت، مسئولیت تهیه غذای مادربزرگ بر عهده کدام یک از فرزندان است.

در ابتدا برای انجام این کار از Excel استفاده می‌کردم.

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

در ابتدا این روش ساده به نظر می‌رسید؛ اما با گذشت زمان مشکلات آن بیشتر مشخص شد.

هر ماه باید جدول جدیدی ایجاد می‌شد.

تعداد روزهای ماه‌ها متفاوت بود.

روز شروع ماه‌ها با یکدیگر فرق داشت.

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

گاهی فردی به برنامه اضافه یا از آن حذف می‌شد.

و برای پیدا کردن پاسخ سؤالات ساده‌ای مانند:

«نوبت چه کسی در یک تاریخ مشخص است؟»

یا:

«نوبت بعدی من چه زمانی است؟»

باید دوباره جدول‌ها بررسی و محاسبه می‌شدند.


🤔 ایده اصلی

در نهایت یک سؤال ساده به ذهنم رسید:

چرا باید هر ماه این برنامه را از اول در Excel ایجاد کنم؟

اگر کامپیوتر می‌تواند تقویم را ایجاد کند، تعداد روزهای ماه را تشخیص دهد، روز هفته را محاسبه کند و نوبت‌ها را بین افراد تقسیم کند، چرا این کارها را دستی انجام دهیم؟

همین سؤال، نقطه شروع این پروژه شد.

چیزی که ابتدا فقط برای نوبت‌بندی تهیه غذای مادربزرگم ایجاد شده بود، به تدریج به یک ایده عمومی برای مدیریت نوبت‌ها تبدیل شد.


🎯 هدف پروژه

هدف اصلی پروژه این است که برنامه‌ریزی نوبت‌ها را از یک فرآیند دستی و زمان‌بر، به یک سیستم ساده و قابل مدیریت تبدیل کند.

این پروژه می‌تواند برای موقعیت‌های مختلف مورد استفاده قرار گیرد؛ از یک خانواده کوچک گرفته تا گروه‌ها، تیم‌ها و حتی محیط‌های کاری.


✨ امکانات

📅 برنامه‌ریزی بر اساس تاریخ

امکان برنامه‌ریزی و مشاهده نوبت‌ها در بازه‌های مختلف زمانی:

  • روزانه
  • هفتگی
  • ماهانه
  • سالانه

👥 مدیریت افراد

امکان اضافه کردن افراد مختلف به یک برنامه.

برای مثال:

علی
رضا
محمد
حسن
مهدی

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


🔄 نوبت‌دهی چرخشی

برنامه می‌تواند نوبت‌ها را به شکل چرخشی بین افراد تقسیم کند.

برای مثال:

روز مسئول
شنبه علی
یکشنبه رضا
دوشنبه محمد
سه‌شنبه حسن
چهارشنبه مهدی
پنجشنبه علی
جمعه رضا

با ادامه برنامه، ترتیب نوبت‌ها بین افراد گردش خواهد کرد.


⚖️ تقسیم عادلانه نوبت‌ها

یکی از اهداف اصلی پروژه، ایجاد امکان تقسیم متعادل مسئولیت‌ها بین افراد است.

به کمک سیستم نوبت‌دهی می‌توان تعداد نوبت‌های هر شخص را بررسی کرد و از ایجاد اختلاف یا تقسیم نامتوازن مسئولیت‌ها جلوگیری کرد.


🗓️ برنامه‌ریزی ماهانه

به‌جای ایجاد یک فایل Excel جداگانه برای هر ماه، تقویم ماهانه به‌صورت خودکار ایجاد می‌شود.

برنامه می‌تواند روزهای ماه و نوبت افراد را در کنار یکدیگر نمایش دهد.


📆 برنامه‌ریزی سالانه

امکان مشاهده و مدیریت برنامه در بازه‌های طولانی‌تر نیز در نظر گرفته شده است.

این قابلیت برای برنامه‌هایی که نیاز به زمان‌بندی بلندمدت دارند بسیار کاربردی است.


🔎 مشاهده سریع نوبت‌ها

برنامه باید بتواند پاسخ سؤالاتی مانند موارد زیر را به‌سرعت در اختیار کاربر قرار دهد:

  • امروز نوبت چه کسی است؟
  • فردا نوبت چه کسی است؟
  • نوبت بعدی من چه زمانی است؟
  • این هفته چه کسی مسئول است؟
  • هر فرد چند نوبت دارد؟
  • برنامه ماه آینده چگونه است؟

🏠 کاربردهای پروژه

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

👨‍👩‍👧‍👦 خانواده

  • تهیه غذا
  • مراقبت از سالمند
  • انجام کارهای خانه
  • خرید
  • مراقبت از اعضای خانواده

🏢 محیط کار

  • برنامه شیفت کارکنان
  • نگهبانی
  • پشتیبانی
  • پاسخگویی
  • تقسیم وظایف

🏘️ ساختمان و مجتمع

  • نگهبانی
  • نظافت
  • رسیدگی به مشاعات
  • مسئولیت‌های دوره‌ای

🌱 سایر کاربردها

  • آبیاری باغ
  • مراقبت از حیوانات
  • برنامه مطالعه گروهی
  • فعالیت‌های ورزشی
  • کارهای داوطلبانه
  • مدیریت وظایف مشترک

🧠 فلسفه پروژه

ایده اصلی پروژه بسیار ساده است:

کاربر نباید کاری را که کامپیوتر می‌تواند به‌صورت خودکار انجام دهد، چندین بار تکرار کند.

اگر نرم‌افزار می‌تواند:

  • تقویم را ایجاد کند،
  • تعداد روزهای ماه را تشخیص دهد،
  • روز هفته را محاسبه کند،
  • نوبت‌ها را ایجاد کند،
  • نوبت افراد را مدیریت کند،
  • و تعداد نوبت‌های هر شخص را محاسبه کند،

پس نیازی نیست کاربر تمام این کارها را به‌صورت دستی انجام دهد.


📊 چرا Excel کافی نبود؟

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

روش سنتی این پروژه
ایجاد جدول برای هر ماه مدیریت متمرکز برنامه
ورود دستی تاریخ‌ها مدیریت خودکار تاریخ
محاسبه دستی نوبت‌ها نوبت‌دهی خودکار
تغییرات دشوار مدیریت ساده‌تر تغییرات
جستجوی دستی دسترسی سریع به نوبت‌ها
وابستگی به فایل‌های مختلف یک سیستم یکپارچه

هدف این پروژه حذف Excel نیست؛ بلکه خودکار کردن فرآیندهایی است که به‌صورت مداوم در Excel تکرار می‌شوند.


🖼️ Screenshots

تصاویر محیط برنامه را می‌توان در این قسمت قرار داد.

پیشنهاد می‌شود تصاویر در مسیر زیر قرار بگیرند:

docs/
└── screenshots/
    ├── dashboard.png
    ├── calendar.png
    ├── schedule.png
    └── settings.png

سپس تصاویر در README نمایش داده شوند:

## 📸 تصاویر برنامه

### داشبورد

![Dashboard](docs/screenshots/dashboard.png)

### تقویم

![Calendar](docs/screenshots/calendar.png)

### برنامه نوبت‌ها

![Schedule](docs/screenshots/schedule.png)

🎬 Demo

اگر نسخه آنلاین یا ویدئوی معرفی پروژه در دسترس است، می‌توان لینک آن را در این قسمت قرار داد.

Demo: YOUR_DEMO_URL


🛠️ تکنولوژی

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

برای مثال:

Frontend:
TypeScript / HTML / CSS

Framework:
Electron

Database:
...

Platform:
Windows / Android / Web

🚀 نصب و اجرا

دریافت پروژه

git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git

سپس وارد پوشه پروژه شوید:

cd YOUR_REPOSITORY

نصب وابستگی‌ها

YOUR_INSTALL_COMMAND

اجرای پروژه

YOUR_RUN_COMMAND

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


📁 ساختار پروژه

ساختار پروژه می‌تواند به شکل زیر باشد:

YOUR_REPOSITORY/
│
├── src/
│   ├── ...
│   └── ...
│
├── assets/
│   └── ...
│
├── docs/
│   └── screenshots/
│
├── README.md
├── LICENSE
└── ...

🗺️ Roadmap

✅ انجام شده

  • ایجاد سیستم پایه نوبت‌دهی
  • مدیریت افراد
  • ایجاد برنامه نوبتی
  • برنامه‌ریزی بر اساس تاریخ
  • برنامه‌ریزی ماهانه
  • برنامه‌ریزی سالانه

🚧 در حال توسعه

  • جابه‌جایی نوبت
  • یادآوری نوبت‌ها
  • اعلان‌ها
  • گزارش آماری
  • بهبود الگوریتم تقسیم نوبت
  • بهبود رابط کاربری

🔮 ایده‌های آینده

  • نسخه Android
  • نسخه Web
  • همگام‌سازی ابری
  • حساب کاربری
  • اشتراک‌گذاری برنامه
  • خروجی Excel
  • خروجی PDF
  • اعلان از طریق پیام‌رسان‌ها
  • پشتیبانی کامل از تقویم شمسی
  • پشتیبانی هم‌زمان از تقویم شمسی و میلادی
  • مدیریت گروه‌های مختلف
  • گزارش میزان مشارکت هر فرد
  • الگوریتم پیشرفته برای تقسیم عادلانه نوبت‌ها

🤝 مشارکت

مشارکت در توسعه این پروژه آزاد است و از Pull Requestها، پیشنهادها و گزارش‌های Bug استقبال می‌شود.

اگر ایده‌ای برای بهتر شدن پروژه دارید، می‌توانید:

  1. یک Issue ایجاد کنید.
  2. مشکل یا پیشنهاد خود را توضیح دهید.
  3. در صورت امکان Pull Request ارسال کنید.

مشارکت در بخش‌های زیر بسیار ارزشمند است:

  • توسعه قابلیت‌های جدید
  • رفع Bug
  • بهبود رابط کاربری
  • بهینه‌سازی الگوریتم نوبت‌دهی
  • بهبود عملکرد
  • نوشتن مستندات
  • ترجمه
  • تست نرم‌افزار

🐛 گزارش Bug

اگر با مشکلی مواجه شدید، لطفاً یک Issue ایجاد کنید و تا حد امکان اطلاعات زیر را ارائه دهید:

شرح مشکل:

مراحل بازتولید:

رفتار مورد انتظار:

رفتار فعلی:

سیستم‌عامل:

نسخه برنامه:

تصویر یا ویدئو:

اطلاعات دقیق‌تر باعث می‌شود مشکل سریع‌تر بررسی و رفع شود.


💭 پیشنهاد قابلیت جدید

اگر قابلیت یا ایده‌ای دارید که می‌تواند پروژه را بهتر کند، می‌توانید آن را به‌عنوان یک Issue پیشنهاد دهید.

پیشنهادهای مربوط به موارد زیر به‌خصوص مورد استقبال هستند:

  • تجربه کاربری
  • تقویم
  • الگوریتم نوبت‌دهی
  • اعلان‌ها
  • گزارش‌ها
  • نسخه موبایل
  • قابلیت‌های گروهی

❤️ داستان این پروژه

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

همه چیز از یک مسئله کوچک در خانواده شروع شد.

یک فایل Excel برای پاسخ به یک سؤال ساده:

امروز چه کسی باید برای مادربزرگ غذا تهیه کند؟

اما همین مسئله کوچک باعث شد متوجه شوم که نوبت‌بندی، خودش یک مسئله مستقل است.

مسئله‌ای که در بسیاری از خانواده‌ها و گروه‌ها وجود دارد.

از یک جدول ساده شروع کردم.

چند اسم.

چند تاریخ.

چند نوبت.

و در نهایت ایده ساخت یک نرم‌افزار شکل گرفت.


🌍 از یک خانواده برای همه

شاید شما هم برای یکی از اعضای خانواده نوبت‌بندی داشته باشید.

شاید چند نفر در یک خانه زندگی می‌کنند و باید کارهای خانه را تقسیم کنند.

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

شاید چند نفر از یک باغ مراقبت می‌کنند.

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

در همه این موارد، مسئله تقریباً یکسان است:

چند نفر
   +
چند مسئولیت
   +
زمان مشخص
   =
نیاز به برنامه‌ریزی نوبت

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


⭐ حمایت از پروژه

اگر این پروژه برای شما مفید بود، می‌توانید با دادن یک ⭐ به Repository از توسعه آن حمایت کنید.

اگر ایده، پیشنهاد یا تجربه‌ای در زمینه برنامه‌ریزی نوبت‌ها دارید، خوشحال می‌شوم آن را با پروژه به اشتراک بگذارید.


📜 License

این پروژه تحت شرایط مجوزی که در فایل LICENSE قرار گرفته است منتشر می‌شود.

لطفاً پیش از استفاده، تغییر، توزیع یا انتشار مجدد پروژه، شرایط License را مطالعه کنید.


ساخته شده با ❤️ از یک نیاز واقعی


گاهی یک نرم‌افزار خوب، از یک مسئله خیلی ساده شروع می‌شود.

ویژگی‌ها

  • سریع و سبک
  • نیازی به پیکربندی نیست

مجوز

این پروژه تحت مجوزِMITمجوز.

About

برنامه‌ریزی و مدیریت نوبت‌ها رویال | Royal Timing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages