Constellation Planner

A playful day planner where tasks become “stars” you place on a night-sky canvas, then connect into constellations representing goals or themes (e.g., Health, Study, Home). Users can add/edit stars with due dates, tags, and priority glow, drag to reposition, and mark completion to dim or sparkle; constellations show progress as lines brighten. Everything runs client-side with localStorage, featuring a list view + sky view toggle, simple filters, and an optional “night mode” ambient animation.

To Do30
Scaffold app stack

Run: npm create vite@latest . -- --template react-ts && npm i && npm i -D tailwindcss postcss autoprefixer && npx tailwindcss init -p && npm i lucide-react class-variance-authority tailwind-merge clsx && npx shadcn@latest init

by system

Add Tailwind styles

Configure tailwind.config and src/index.css with Tailwind directives and a minimal app theme.

by system

Add shadcn utils

Create src/lib/utils.ts with cn() helper for className composition.

by system

Define data types

Create src/types.ts defining StarTask, Constellation, Tag, and filter/view model types.

by system

LocalStorage persistence

Create src/lib/storage.ts to load/save planner state to localStorage with versioning.

by system

State store hook

Create src/state/usePlannerStore.ts implementing a React hook for CRUD, selection, and persistence.

by system

Seed demo data

Add a small default dataset returned when no localStorage data exists.

by system

App layout shell

Implement src/App.tsx with header, main content area, and responsive container.

by system

Top navigation bar

Create src/components/TopBar.tsx with app title, view toggle, and theme toggle placeholders.

by system

View mode toggle

Create src/components/ViewToggle.tsx to switch between List view and Sky view in store state.

by system

Theme mode toggle

Create src/components/ThemeToggle.tsx to switch night mode class on document root and persist it.

by system

Night ambient background

Create src/components/NightAmbient.tsx rendering optional subtle animated gradient/noise background.

by system

List page scaffold

Create src/pages/ListPage.tsx that displays task list and an add-task button.

by system

Sky page scaffold

Create src/pages/SkyPage.tsx that renders the sky canvas, stars, and constellation lines.

by system

Sky canvas component

Create src/components/sky/SkyCanvas.tsx providing a positioned container and pan-safe bounds.

by system

Star rendering component

Create src/components/sky/StarNode.tsx to render a star with glow based on priority and completion state.

by system

Star drag behavior

Add pointer event dragging to StarNode.tsx to update star x/y in the store.

by system

Constellation lines SVG

Create src/components/sky/ConstellationLines.tsx to draw SVG lines between linked stars with progress brightness.

by system

Sky star selection

Add click-to-select logic in SkyPage.tsx and highlight selected star node.

by system

Quick complete toggle

Add a small completion toggle action (e.g., double-click or checkbox) for stars in both views.

by system

Task list item row

Create src/components/list/TaskRow.tsx showing title, due date, tags, priority, and completion toggle.

by system

Task list component

Create src/components/list/TaskList.tsx to render filtered tasks using TaskRow.

by system

Add star dialog

Create src/components/dialogs/StarCreateDialog.tsx using shadcn Dialog + form inputs to add a star.

by system

Edit star dialog

Create src/components/dialogs/StarEditDialog.tsx to edit/delete an existing star.

by system

Form field components

Create src/components/forms/StarFields.tsx containing reusable inputs for title, due date, tags, priority, and constellation.

by system

Constellation manager

Create src/components/ConstellationPicker.tsx to select/create a constellation (goal/theme) for a star.

by system

Filters bar UI

Create src/components/FiltersBar.tsx with search, tag filter, constellation filter, and status filter controls.

by system

Filter logic wiring

Implement filter selectors in usePlannerStore.ts and apply them in TaskList and SkyPage.

by system

Progress computation

Create src/lib/progress.ts to compute constellation completion percent and per-line brightness.

by system

Import/export JSON

Create src/components/ImportExport.tsx to download/upload planner state JSON locally (no network).

by system

In Progress0
In Review0
Done0