TodoList Svelte Themes

Todolist

TodoList course project with Svelte

šŸ“ TodoList App

A simple full-stack TodoList application built with Svelte on the frontend and Deno + Hono on the backend. The app allows users to add, mark as done/undone, and delete todos, with validation using Zod.

šŸš€ Tech Stack

Frontend (Client)

  • Svelte ā€“ Lightweight and reactive framework for the UI
  • Fetch API ā€“ For handling HTTP requests

Backend (Server)

  • Deno ā€“ Secure runtime for JavaScript and TypeScript
  • Hono ā€“ Lightweight web framework for building APIs
  • Zod ā€“ Schema validation for request data

šŸŽÆ Features

āœ… Add Todos ā€“ Name must be 3-30 characters (validated with Zod)
āœ… Mark as Done/Undone ā€“ Click the checkbox to toggle the status
āœ… Delete Todos ā€“ Click the Remove button to remove a todo

šŸ› ļø Installation & Setup

Prerequisites

1ļøāƒ£ Clone the Repository

git clone https://github.com/omilaeva/TodoList.git
cd TodoList

2ļøāƒ£ Start the Application

Run the following command to build and start the containers:

docker compose up --build

This will:

3ļøāƒ£ Stop the Application

To stop the running containers, press CTRL+C or run:

docker compose down

If you run docker compose down the database will be deleted and all the data in it will be lost.

šŸ–„ļø API Endpoints

Method Endpoint Description
GET /todos Get all todos
POST /todos Add a new todo (name required)
PUT /todos/:id Toggle done/undone or change the name
DELETE /todos/:id Delete a todo

Top categories

Loading Svelte Themes