Paul Bailey 9726f3a9e1 feat: implement offline synchronization with mutation queue and background sync
- Created useOfflineSync hook for connectivity detection and sync management
- Implemented localStorage-based mutation queue for offline operations
- Added background sync support in service worker
- Created OfflineIndicator component to show connection status
- Added offline-aware action wrappers for seamless offline/online transitions
- Implemented conflict handling with retry logic (up to 3 retries)
- Auto-sync when connection is restored
- Validates Requirements 4.5
2025-12-01 20:34:21 +00:00

Ultimate Lists App

A powerful, self-hosted todo list application built with Next.js that works as a Progressive Web App (PWA).

Features

  • 📱 Works as a Safari web app (no App Store needed)
  • 🗄️ Self-hosted with SQLite database
  • ✅ Multiple lists with custom colors
  • 📋 Rich todo items with descriptions, priorities, and due dates
  • 🎨 Clean, responsive design
  • ⚡ Fast server-side rendering

Getting Started

  1. Install dependencies:
npm install
  1. Set up the database:
npm run db:push
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in Safari

Adding to Home Screen (Safari)

  1. Open the app in Safari
  2. Tap the Share button
  3. Select "Add to Home Screen"
  4. The app will now work like a native app!

Deployment

Build for production:

npm run build
npm start

The app uses SQLite, so no external database setup is required.

Tech Stack

  • Next.js 14 - React framework with App Router
  • Prisma - Database ORM
  • SQLite - File-based database
  • Tailwind CSS - Styling
  • TypeScript - Type safety
  • Lucide React - Icons
Description
No description provided
Readme 1.3 MiB
Languages
TypeScript 93.4%
JavaScript 4.4%
HTML 1.5%
CSS 0.6%