FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
nezha
nezhaTo-do_Tracker
Public
Like
To-do_Tracker
Home
Code
4
backend
3
frontend
3
shared
1
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Sign up now
Code
/
Code
/
Search
index.ts
https://nezha--bcf1b3103fac11f0945976b3cceeab13.web.val.run
README.md

To-Do List & Habit Tracker App

A comprehensive productivity app that combines task management with daily habit tracking.

Features

To-Do List

  • ✅ Create, edit, and delete tasks
  • ✅ Mark tasks as complete/incomplete
  • ✅ Set priority levels (High, Medium, Low)
  • ✅ Add due dates
  • ✅ Filter and sort tasks

Habit Tracker

  • 📅 Create daily habits to track
  • ✅ Mark habits as completed for each day
  • 📊 View completion streaks
  • 📈 Track progress over time
  • 🎯 Set habit goals and descriptions

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema setup
│   │   └── queries.ts       # Database query functions
│   ├── routes/
│   │   ├── todos.ts         # To-do CRUD operations
│   │   └── habits.ts        # Habit tracking operations
│   └── index.ts             # Main Hono server
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main app component
│   │   ├── TodoList.tsx     # To-do list component
│   │   ├── HabitTracker.tsx # Habit tracker component
│   │   └── Navigation.tsx   # App navigation
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend entry point
│   └── style.css            # Custom styles
├── shared/
│   └── types.ts             # Shared TypeScript types
└── README.md

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Frontend: React 18.2.0 with TypeScript
  • Database: SQLite
  • Styling: TailwindCSS
  • Storage: Val Town SQLite

API Endpoints

To-Dos

  • GET /api/todos - Get all todos
  • POST /api/todos - Create new todo
  • PUT /api/todos/:id - Update todo
  • DELETE /api/todos/:id - Delete todo

Habits

  • GET /api/habits - Get all habits
  • POST /api/habits - Create new habit
  • PUT /api/habits/:id - Update habit
  • DELETE /api/habits/:id - Delete habit
  • GET /api/habits/:id/completions - Get habit completions
  • POST /api/habits/:id/completions - Mark habit as completed for a date
  • DELETE /api/habits/:id/completions/:date - Remove habit completion

Getting Started

This app runs on Val Town. The main entry point is backend/index.ts which serves both the API and the frontend.

HTTP
  • index.ts
    nezha--bc…13.web.val.run
Code
backendfrontendsharedREADME.md
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.