Files
Claude 965c47d66a feat: add ntfy push notifications for daily digest and per-prayer reminders
- Server-side cron (node-cron) checks every minute for scheduled notifications
- Daily digest: sends all active prayers as a summary at a configured time
- Per-prayer reminders: pick days of the week per prayer; fires at configured time
- Settings panel in UI to configure ntfy topic, digest time, reminder time
- Test notification button to verify ntfy is working
- Settings stored in data/settings.json (persisted alongside prayers)
2026-08-02 14:45:18 +00:00

54 lines
1.5 KiB
JSON

{
"name": "prayer",
"version": "0.4.0",
"private": true,
"type": "module",
"scripts": {
"dev": "next dev --webpack",
"build": "next build --webpack",
"start": "next start",
"lint": "eslint",
"test": "jest",
"test:watch": "jest --watch",
"version:minor": "npm version minor && node scripts/sync-version.js",
"version:major": "npm version major && node scripts/sync-version.js"
},
"dependencies": {
"@dataconnect/generated": "file:src/dataconnect-generated",
"@emailjs/browser": "^4.4.1",
"firebase": "^12.4.0",
"firebase-admin": "^13.5.0",
"jspdf": "^3.0.3",
"lucide-react": "^0.562.0",
"next": "16.0.0",
"next-i18next": "^15.4.2",
"next-pwa": "^5.6.0",
"next-themes": "^0.4.6",
"node-fetch": "^3.3.2",
"nodemailer": "^7.0.9",
"react": "19.2.0",
"react-csv": "^2.2.2",
"react-dom": "19.2.0",
"react-hot-toast": "^2.6.0"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/jest": "^30.0.0",
"@types/node": "^20",
"@types/nodemailer": "^7.0.2",
"@types/react": "^19.2.7",
"@types/react-csv": "^1.1.10",
"@types/react-dom": "^19.2.3",
"baseline-browser-mapping": "^2.9.9",
"eslint": "^9",
"eslint-config-next": "16.0.0",
"jest": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
"tailwindcss": "^4",
"typescript": "^5"
}
}