Paul Bailey 796bde22e7 feat: Add comprehensive input validation
- Created lib/validation.ts with validation utilities for all form inputs
- Added validation for list titles, item titles, colors, dates, tags, descriptions, and notes
- Implemented inline validation with real-time error feedback in ListForm
- Enhanced ItemForm with comprehensive validation for all fields
- Updated InlineItemCreate with validation
- Added input sanitization to prevent XSS attacks
- Updated server actions to use validation utilities
- Added maxLength attributes to prevent excessive input
- Improved accessibility with aria-invalid and aria-describedby attributes
- Added visual feedback for validation errors with red borders
- Validates Requirements 1.1 and 2.1
2025-12-01 21:26:26 +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%