Skip to content

alirezahosseini/love-dating-book

Repository files navigation

💖 برنامه‌ریز قرار عاشقانه (Vanilla JS - Single Page Application)

یک وب‌اپلیکیشن فوق‌العاده زیبا، مدرن و تعاملی برای پیشنهاد اولین قرار عاشقانه به زبان شیرین فارسی، طراحی شده به صورت کاملاً Mobile-First همراه با پنل مدیریت پیشرفته ادمین و دیتابیس ذخیره‌سازی محلی داده‌ها (localStorage).


🛠️ تکنولوژی‌های مورد استفاده (Tech Stack)

  • Vite - ابزار فوق سریع بیلد و توسعه فرانت‌اند.
  • Vanilla JavaScript - معماری وب یک‌پارچه بدون فریم‌ورک‌های سنگین (No React).
  • HTML5 & CSS3 - استایل‌دهی فانتزی و گلس‌مورفیک سازگار با موبایل.
  • Jalaali-JS - کتابخانه سبک محاسبات تقویم شمسی جلالی.
  • Canvas-Confetti - افکت شادی کانفتی سه‌بعدی مرورگر.

✨ ویژگی‌های برجسته پروژه (Features)

  1. 🚀 انیمیشن لودینگ پریمیوم (Loading Screen):

    • نمایش لودینگ با گرادیانت زیبای اختصاصی.
    • انیمیشن نوار پیشرفت درصد از ۰ تا ۱۰۰ همراه با پیام "در حال بررسی سازگاری...".
    • افکت پایان ترنزیشن با پیام "سازگاری پیدا شد ❤️" و لود انیمیشنی خودکار صفحه هیرو.
  2. 🎨 طراحی مینیمال و اپل استایل (Apple Inspired Design):

    • طراحی مطابق با استانداردهای ترند دیزاین وب‌سایت‌های مدرن و شیک.
    • لبه‌های گرد ۲۴ پیکسل، سایه‌های نرم، استایل گلس‌مورفیزم خیره‌کننده.
    • عرض فیکس مناسب موبایل (حداکثر ۴۸۰ پیکسل) جهت اجرای بی نقص در انواع نمایشگرهای موبایل و تبلت.
  3. 🏃 فرار هوشمند دکمه "نه" (Playful Escape Button):

    • حرکت پویا و گریز دکمه "نه 🙈" به محض حرکت ماوس روی آن در دسکتاپ و یا اولین تاچ لمسی در موبایل به موقعیت رندوم جدید.
  4. 📅 تقویم شمسی جلالی تمام سفارشی (Custom Persian Date Picker):

    • نمایش ماه‌ها به زبان فارسی و روزهای هفته به صورت راست‌چین.
    • فرمت استاندارد ذخیره در حافظه محلی به صورت 1405/03/20.
    • امکان تغییر سال و ماه با دکمه‌های ناوبری پیش‌فرض.
  5. 🍕 انتخاب تفریحات و حس و حال (Activity & Mood Cards):

    • دکمه‌ها و کارت‌های تعاملی شیک به صورت گرید برای انتخاب تفریح و جو قرار.
    • در صورت انتخاب گزینه "یه چیز دیگه" یک کادر ورودی مخفی برای تایپ یادداشت دلخواه ظاهر می‌شود.
  6. 🎵 ثبت موزیک جاده و صفحه پایانی:

    • انتخاب موسیقی دلخواه و ثبت کل طرح قرار در حافظه مرورگر.
    • افزایش گام به گام درصد سازگاری تا ۹۸.۷٪ به همراه رقص قلب‌ها و جشن کانفتی پرواز ملایم قلب‌ها.
  7. 🔒 پنل مخفی مدیریت و ادمین (Hidden Admin Dashboard):

    • دسترسی با باز کردن آدرس /admin-love یا هش #admin-love در آدرس‌بار مرورگر.
    • رمز عبور پیش‌فرض پنل مدیریت: 1405 می‌باشد.
    • قابلیت‌های کامل: فیلتر و جستجوی لحظه‌ای، شمارنده‌های آمار کل پاسخ‌ها، خروجی گرفتن اکسل به صورت CSV (سازگار با فونت فارسی) و خروجی به صورت فایل JSON، به همراه امکان پاک کردن سوابق ثبت شده به صورت تکی.

📂 ساختار فایل‌های پروژه (Project Structure)

vite-project/
├── assets/
│   └── illustrations/       <-- تصاویر PNG و لوگوهای SVG برنامه
├── js/
│   ├── main.js              <-- فایل آغازین اجرای برنامه و لود DOM
│   ├── router.js            <-- روتر هوشمند برای مدیریت مسیرهای public و /admin-love
│   ├── storage.js           <-- توابع ذخیره‌سازی و دریافت اکسپورت‌های CSV و JSON
│   └── ui.js                <-- مدیریت کل جریان‌های صفحات، تقویم و افکت‌های بصری
├── styles/
│   └── main.css             <-- استایل‌های گلس‌مورفیک، فونت وزیر و پالت رنگی گرم
├── index.html               <-- کدهای HTML5 تمام بخش‌ها با الگوهای SPA
├── package.json             <-- لیست لایبرری‌ها و اسکریپت ران‌ها
└── vite.config.js           <-- پیکربندی وب‌سرور ویت

📦 راهنمای نصب و راه‌اندازی سریع

توسعه‌دهنده گرامی، پروژه آماده اجرای فوری است. لطفاً دقت فرمایید برای اجرای دستورات از دستور استاندارد npm استفاده شود (دستور اشتباه npx run build موجب بروز خطای سیستمی Node به علت تلاش برای لود کتابخانه شخص ثالث غیرمرتبط می‌گردد):

۱. نصب پکیج‌ها:

npm install

۲. اجرای مستقیم سرور توسعه (Local Server):

npm run dev

۳. بیلد نسخه بهینه نهایی (Production Build):

npm run build

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

About

A romantic Persian date invitation web app with interactive questions, Jalali calendar, playful animations, and a hidden admin dashboard. Built with Vite, Vanilla JavaScript, HTML, and CSS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors