- Update docker-compose.yml to include VAPID environment variables
- Create DOCKER_PUSH_NOTIFICATIONS_SETUP.md with Docker-specific instructions
- Create PUSH_NOTIFICATIONS_DOCKER_CHECKLIST.md for easy setup tracking
- Update .env.example with Docker command for generating VAPID keys
Setup for Docker:
1. Generate VAPID keys (npx web-push generate-vapid-keys)
2. Add keys to .env file
3. Run: docker-compose exec app npx prisma db push
4. Rebuild: docker-compose up --build
The web-push package is automatically installed during docker build.
All notification functionality works the same in Docker as locally.
- Add self-hosted push notifications using VAPID (no external services)
- Create PushSubscription model in database
- Implement server-side push logic with web-push library
- Add notification helpers for list events (items, invitations, collaborators)
- Create NotificationSettings UI component for profile page
- Add usePushNotifications React hook for subscription management
- Create API routes for subscription management and VAPID key
- Update service worker with push event handlers
- Integrate notifications into item actions (add, remove, complete)
- Integrate notifications into sharing actions (invite, accept, remove)
- Add VAPID key generation script
- Add comprehensive documentation and setup guides
Notifications are sent when:
- Items are added/removed/completed in shared lists
- Users are invited to lists
- Invitations are accepted
- Collaborators are removed from lists
Works on iOS 16.4+ (when installed to home screen), Android, and desktop browsers.
- Install next-auth@beta, bcryptjs, zod, and @auth/prisma-adapter
- Create auth.ts with credentials provider and JWT session strategy
- Create auth.config.ts for edge-compatible middleware configuration
- Add NextAuth type extensions for session and JWT
- Create API route handler for authentication
- Configure environment variables for NextAuth
- Add AUTH_SETUP.md documentation
Task: 1. Set up authentication infrastructure
Requirements: 1.1, 2.1