svelte-todoapp-db Svelte Themes

Svelte Todoapp Db

Svelte Todo App with Database

A modern, full-stack todo application built with Svelte 5, SvelteKit, and SQLite database. Features authentication, task management, and a beautiful UI with dark mode support.

šŸš€ Tech Stack

  • Frontend: Svelte 5 (with runes), SvelteKit, TailwindCSS
  • Backend: SvelteKit server functions
  • Database: SQLite with Drizzle ORM
  • Authentication: Session-based with email/username and password
  • UI Components: Custom components built with shadcn/ui principles
  • Styling: TailwindCSS with dark/light mode support

šŸ› ļø Development

Prerequisites

  • Node.js 18+
  • npm, pnpm, or yarn

Getting Started

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Start the development server:
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building for Production

npm run build

Preview the production build:

npm run preview

šŸ“± Features

āœ… Implemented Features

Core Todo Functionality

  • āœ… Authentication - Email/username and password login system
  • āœ… Add a task - Create new tasks with title and description
  • āœ… "All Task" Filter - View all tasks regardless of status
  • āœ… "Active Task" Filter - View only incomplete tasks
  • āœ… "Completed Task" Filter - View only completed tasks
  • āœ… Mark a task as completed - Toggle task completion status
  • āœ… Remove a task - Delete tasks (works for both completed and active)
  • āœ… Change title of the task - Edit task titles through modal
  • āœ… Change description of the task - Edit task descriptions through modal
  • āœ… Dark Mode - Toggle between light and dark themes
  • āœ… Search & Filtering - Search tasks by title and description
  • āœ… Responsive Design - Works on mobile, tablet, and desktop
  • āœ… Real-time Updates - UI updates immediately on changes
  • āœ… Task Details View - Click to view full task details in modal

Authentication Features

  • āœ… Email and password authentication - Full login/signup system
  • āœ… Session management - Secure session handling
  • āœ… User registration - Create new accounts
  • āœ… Database integration - SQLite with Drizzle ORM

🚧 In Progress / Planned Features

MVP Remaining

  • āŒ Clear all completed tasks - Bulk delete completed tasks

Additional Features (Future)

  • āŒ Scheduling (day and time)
  • āŒ Recurring Task Customization
  • āŒ Attachment support
  • āŒ Advanced Search & Filtering (beyond basic text search)
  • āŒ Tags system

Enhanced Authentication (Infrastructure Ready)

  • āŒ Password check with HaveIBeenPwned (schema ready)
  • āŒ Email verification (schema ready)
  • āŒ 2FA with TOTP (schema ready)
  • āŒ 2FA recovery codes (schema ready)
  • āŒ Password reset (schema ready)
  • āŒ Login throttling and rate limiting

Note: The database schema already includes fields for advanced authentication features like TOTP keys, email verification, and recovery codes. These features are structurally ready but not yet implemented in the UI.

šŸŽÆ Current Status

This todo application has successfully implemented most of the MVP features and is fully functional for daily task management. The app includes:

  • Complete authentication system with secure sessions
  • Full CRUD operations for tasks (Create, Read, Update, Delete)
  • Advanced filtering and search capabilities
  • Beautiful, responsive UI with dark mode
  • Real-time updates and smooth user experience

Ready for daily use! šŸŽ‰

šŸ”— References

šŸ“„ License

This project is open source and available under the MIT License.


Development Status: Most MVP features complete āœ… | Ready for production use šŸš€

šŸ—‚ļø Project Structure

src/
ā”œā”€ā”€ lib/
│   ā”œā”€ā”€ components/
│   │   ā”œā”€ā”€ TaskItem.svelte      # Individual task component
│   │   ā”œā”€ā”€ TaskList.svelte      # Task list container
│   │   └── ui/                  # Reusable UI components
│   ā”œā”€ā”€ server/
│   │   ā”œā”€ā”€ db/                  # Database schema & connection
│   │   ā”œā”€ā”€ task.ts              # Task-related server functions
│   │   ā”œā”€ā”€ user.ts              # User management
│   │   ā”œā”€ā”€ session.ts           # Session handling
│   │   └── password.ts          # Password utilities
│   └── utils.ts                 # Utility functions
ā”œā”€ā”€ routes/
│   ā”œā”€ā”€ +layout.svelte           # Global layout with theme toggle
│   ā”œā”€ā”€ +page.svelte             # Main todo app page
│   ā”œā”€ā”€ login/                   # Login page
│   ā”œā”€ā”€ signup/                  # Registration page
│   └── api/task/                # Task API endpoints

Top categories

Loading Svelte Themes