A Progressive Web App (PWA) for creating, viewing, and managing notes that work offline.
- ✍️ Create, view, edit, and delete notes
- 🌐 Works offline (PWA with service worker caching)
- 📱 Installable on mobile and desktop
- 🔄 Automatic updates with user prompt
- 📅 Tracks creation and last edit dates
- 🎯 Accessible modals and interactions
- A web server with HTTPS or use localhost for testing
- Modern browser (Chrome, Edge, Firefox) for PWA features
- Clone the repository
git clone https://github.com/yourusername/pwa-notes.git
cd pwa-notes- Start a local server (choose one):
# Using Python (Python 3)
python -m http.server 8000
# Using Node.js
npx http-server- Open http://localhost:8000 in your browser
- Make changes to the app
- Increment
CACHE_NAMEversion insw.js - Refresh the page - you'll see an update banner
- Click "Refresh" to activate the new version
This repository is configured to automatically deploy to GitHub Pages using GitHub Actions.
- Fork this repository
- Go to Settings → Pages
- Set Source to "GitHub Actions"
- The workflow in
.github/workflows/deploy.ymlwill handle the rest
You can deploy to any static hosting service that supports:
- HTTPS (required for service workers)
- Proper MIME types
- URL rewriting (for SPA support)
Popular options:
- Netlify
- Vercel
- Azure Static Web Apps
manifest.json: PWA configuration and iconssw.js: Service Worker for offline supportoffline.html: Offline fallback page
When deploying, ensure:
- HTTPS is enabled (required for service workers)
- Proper security headers are set:
Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline' https://cdn.tailwindcss.com; X-Frame-Options: DENY X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000; includeSubDomains
- Chrome/Edge/Opera: Full PWA support
- Firefox: PWA support (some features limited)
- Safari: Basic PWA support
- iOS Safari: Home screen installation supported
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
MIT License - See LICENSE file for details