Paul Bailey 70121982a0 feat: implement user registration functionality
- Created registerUser server action with email/password validation
- Implemented password hashing with bcrypt (10 rounds)
- Added email uniqueness check to prevent duplicate registrations
- Created session after successful registration using NextAuth
- Added comprehensive validation for email format and password length (min 8 chars)
- Added email and password validation utilities to lib/validation.ts
- Removed PrismaAdapter from auth.ts (using JWT sessions only)
- Added vitest testing framework and configuration
- Created comprehensive unit tests for registration functionality
- All tests passing (6/6)

Requirements covered: 1.1, 1.2, 1.3, 1.4, 1.5
2025-12-02 00:03:23 +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%