Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

185 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Todoooze

A Linear-inspired, fully client-side project management app. Organize work into lists, track tasks on a kanban board, and drag them between Todo, In Progress, In Review, and Done โ€” no backend, no account, no sign-up. Everything lives in your browser's localStorage.

Features

  • Lists (projects) โ€” create, rename, and delete lists from the sidebar
  • Kanban board โ€” drag-and-drop between columns; card order is persisted
  • Custom columns โ€” add, rename, recolor, reorder, and delete columns per list
  • Tasks โ€” create, edit, and delete tasks (right-click a card for the context menu), with title, description, column, and priority (Urgent / High / Medium / Low)
  • Markdown descriptions โ€” a GitHub-style editor with a formatting toolbar, keyboard shortcuts (โŒ˜B / โŒ˜I / โŒ˜Kโ€ฆ), live preview, and interactive checklists; cards show checklist progress
  • Search โ€” instant client-side search across every task in every list
  • Recent โ€” a feed of recently updated tasks across all lists
  • Offline-first โ€” installable PWA with a service worker; lists/tasks live in localStorage and keep working without a network
  • Local profile โ€” set your display name; no auth service, all data stays on your device
  • Responsive โ€” collapsible sidebar layout for small screens

Tech stack

  • Next.js 13 (App Router) + React 18 + TypeScript
  • Tailwind CSS + CSS Modules
  • React Context + useReducer for state, persisted to localStorage
  • next-pwa (Workbox) for the offline service worker and precaching
  • react-markdown + remark-gfm for rendering task descriptions
  • react-beautiful-dnd-next for drag-and-drop, Radix UI for the context menu, Framer Motion for micro-interactions
  • Jest + Testing Library

Getting started

yarn install
yarn start     # dev server on http://localhost:3000

Other scripts:

yarn build      # production build
yarn test       # run tests once
yarn test:watch # run tests in watch mode
yarn lint       # eslint

Offline / PWA

  1. Run a production build and serve it (yarn build && yarn next start), or deploy to HTTPS.
  2. Open the app once while online so the service worker can cache the shell and assets.
  3. Disconnect the network โ€” your lists and tasks still work; an indigo banner confirms you're offline.
  4. Optional: install Todoooze from the browser ("Add to Home Screen" / Install app).

The service worker is generated by next-pwa at build time (public/sw.js + public/workbox-*.js, both gitignored) and is disabled in next dev so hot reload stays snappy. When a page isn't cached and the network is down, the /offline fallback page is served.

Data & privacy

There is intentionally no auth and no server. All lists, tasks, and profile data are stored under todoooze.* keys in localStorage. You can wipe everything from My account โ†’ Clear all local data.

About

๐Ÿ“A minimal project management app, powered by Next.js and Typescript

Topics

Resources

Stars

28 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages