Skip to content
cpuoffPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

واحد یار (درختواره دروس)

اپ PWA فارسی برای مدیریت چارت درسی مهندسی برق (گرایش الکترونیک و قدرت) دانشگاه آزاد تهران شمال، مصوبه ۱۷۹ مورخ ۱۴۰۳/۰۴/۱۰. بدون بیلد و بدون وابستگی: فقط HTML/CSS/JS ساده. روی GitHub Pages دیپلوی می‌شه (.github/workflows/static.yml).

ساختار پروژه

index.html            اسکلت صفحه + لود فایل‌ها (ترتیب <script>ها مهمه)
manifest.json, sw.js  PWA و کش آفلاین
css/styles.css        همه‌ی استایل‌ها (رنگ‌بندی گرایش‌ها آخر فایل)
js/
  data/               فقط داده (درس‌ها و گروه‌ها)
    elec-courses.js   همه‌ی درس‌های برق: مشترک + الکترونیک (e..) + قدرت (p..)
    elec-groups.js    گروه‌بندی چارت برق (ALL_ELEC_GROUPS)
    islamic.js        درس‌ها و گروه‌های معارف
    general.js        درس‌ها و گروه‌های عمومی
  state.js            ذخیره/بارگذاری state در localStorage
  track.js            منطق گرایش‌ها: قفل گرایش، گرایش فعلی، گروه‌های هر نما
  logic.js            وضعیت درس‌ها، پیش‌نیاز/هم‌نیاز، پیشرفت گروه‌ها، معدل
  render-course.js    ردیف درس + شیت روابط پیش‌نیازی
  render-groups.js    رندر گروه‌ها و نوار پیشرفت هر بخش
  render-dashboard.js داشبورد بالای صفحه
  suggestions.js      پیشنهاد هوشمند این ترم
  render.js           renderAll و یادداشت گرایش
  chart-export.js     خروجی PDF/چاپ کل چارت
  ui-tabs.js          تب‌ها و زیرتب‌ها
  ui-settings.js      مودال تنظیمات
  ui-menu.js          منوی همبرگری + صفحه‌ی پیشنهاد واحد (#suggest)
  actions.js          ریست، خروجی/ورودی بکاپ JSON
  main.js             رندر اولیه + ثبت service worker

همه‌ی فایل‌ها اسکریپت معمولی‌ان و یک scope سراسری مشترک دارن، پس ترتیب لود تو index.html و CORE_ASSETS تو sw.js باید یکی بمونه.

چطور توسعه بدم؟

  • درس جدید: تو js/data/elec-courses.js اضافه کن و idش رو تو گروه مناسب elec-groups.js بذار.
    • trk:'elec' یا trk:'power' یعنی اختصاصی اون گرایش (و قفل‌کننده‌ی گرایش دیگه).
    • noLock:true یعنی تو تب همون گرایش بیاد ولی گذروندنش گرایش رو قفل نکنه.
    • بدون trk یعنی مشترک (تو هر دو تب «الکترونیک» و «قدرت» نشون داده می‌شه).
  • گروه مشترک فقط نمایشی: virtual:true (تو آمار و پیشنهاد حساب نمی‌شه).
  • درس‌های در حال گذراندن تو state.current ذخیره می‌شن (وضعیت current).
  • رنگ گرایش‌ها: متغیرهای --c-common/--c-elec/--c-power/--c-current تو آخر css/styles.css.
  • بعد از هر تغییر، CACHE_NAME رو تو sw.js عوض کن تا کش گوشی‌ها آپدیت بشه. فایل جدید JS/CSS رو هم به CORE_ASSETS اضافه کن.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages