safeeyes
Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗داشبورد Next.js بتقرا بياناتها من Google Sheet مباشرةً، وبتتحدث لوحدها كل دقيقة.
npm install
npm run dev
افتح http://localhost:3000.
لو ملف .env.local مش موجود، اللوحة بتشتغل على بيانات تجريبية وهمية ليها نفس شكل الشيت.
[email protected]) بصلاحية Viewer بس..env.example باسم .env.local واملاه:
GOOGLE_SHEET_ID: الجزء اللي بين /d/ و/edit في رابط الشيت.GOOGLE_SERVICE_ACCOUNT_EMAIL: قيمة client_email من ملف JSON.GOOGLE_PRIVATE_KEY: قيمة private_key من ملف JSON، بين علامتين تنصيص.npm run dev. الشارة اللي فوق هتتغير لـ «متصل بـ Google Sheets».لازم الشيت يكون Google Sheet أصلي. لو جنب اسمه علامة
.XLSX، اعمله File ← Save as Google Sheets واستخدم الرابط الجديد.
/api/data كل 60 ثانية، وبيقف لما التاب يبقى في الخلفية.الأوقات دي ممكن تتغير من .env.local (شوف .env.example).
src/lib/sheets.ts ← الاتصال بـ Google (JWT لحساب الخدمة) والكاش
src/lib/normalize.ts ← تنظيف الصفوف وتحويلها لسجلات + اكتشاف مشاكل البيانات
src/lib/analytics.ts ← المؤشرات والتجميعات اللي بتغذّي الرسوم
src/lib/demo-data.ts ← بيانات وهمية للتجربة
src/components/ ← الداشبورد والرسوم (ECharts)
src/app/api/data/ ← الـ API اللي المتصفح بيطلبه