fiery-todo

byTest

build a to-do with single page design and minimal design as well

Home
Home

Comments (0)

No comments yet. Be the first!

Project Tasks11

#1

Implement HomeHeader for Home

To Do

As a frontend developer, implement the HomeHeader section for the Home page. Uses framer-motion useSpring (stiffness:300, damping:28) and useTransform for animated dark mode toggle thumb — thumbX animates from 2px to 26px, thumbBg from #F5A623 to #6aadff. Uses gsap.context() for entrance animation (y:-20, opacity:0, duration:0.7, power3.out). GSAP logo scale+rotation bounce on theme toggle (scale:1.12, back.out(1.7) then elastic.out). GSAP title scale pulse on toggle (scale:1.04, elastic.out). useState for isDark, mobileOpen, scrolled. Scroll detection via window.addEventListener sets hh-scrolled class. Refs: headerRef, logoRef, titleRef. AnimatePresence for mobile drawer. Root classes: hh-header, hh-scrolled, hh-dark-mode. NAV_LINKS array with single Home link. Uses hh- CSS prefix.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#2

Implement HomeHero for Home

To Do

As a frontend developer, implement the HomeHero section for the Home page. Uses gsap.timeline() to animate CSS gradient background via a proxy object approach — parses hex colors with parseHex(), tweens r/g/b channel values over 8s (power2.inOut) and updates el.style.background on each frame. gradientStops object maps four time periods (morning/afternoon/evening/night) to start/mid/end hex color triples plus label and icon emoji. getTimePeriod() reads new Date().getHours() to select the current period. After initial 8s, cycles to next period with secondary gsap tween. Refs: gradientRef, contentRef, badgeRef, headlineRef, subRef, quoteRef, ctaRef, pinsRef (array). GSAP staggered entrance animations for badge, headline, subheadline, quote, CTA elements. Uses hh-hero CSS prefix (separate from HomeHeader hh- prefix — ensure no CSS class collision).

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#3

Implement HomeInputSection for Home

To Do

As a frontend developer, implement the HomeInputSection for the Home page. useState for task (string), isFocused (bool), particles (array), validation ({type, message}), justSubmitted (bool). useRef for inputRef. MAX_LENGTH=120 enforced in handleChange. generateParticles(count) creates radial burst — angle=(2π*i/count)+random offset, distance=40-70px, colors from 6-item palette including #50E3C2, #F5A623, #F8E71C. handleSubmit validates minimum 3 chars, spawns 10 particles via burst array, clears after 800ms setTimeout, shows success validation for 2000ms. ringVariants (spring stiffness:300, damping:25) animate focus ring scale and opacity. particleVariants use custom(p) for x/y/scale/opacity with staggered delays. AnimatePresence wraps validation message and particles. his- CSS prefix.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#4

Implement HomeTaskBoard for Home

To Do

As a frontend developer, implement the HomeTaskBoard section for the Home page. INITIAL_TASKS array of 6 items with id, title, priority (high/medium/low), date, completed fields. useState for tasks, filter ('All'/'Active'/'Completed'), draggedId, dragOverIndex. sectionRef and cardRefs (object keyed by task id). GSAP scroll-triggered reveal on .htb-card-wrapper elements (gsap.set then ScrollTrigger or fromTo). SVG icon components: CheckIcon (polyline checkmark), EditIcon (edit pen path), DeleteIcon (trash path), CalendarIcon (rect+path). framer-motion AnimatePresence for task enter/exit animations. Drag-and-drop reorder via HTML5 drag events (draggedId/dragOverIndex state). Filter tabs render subset of tasks. Complete/delete/edit handlers update tasks state. GSAP card flip animation on completion (rotateY 180). htb- CSS prefix.

AI 83%
Human 17%
High Priority
2.5 days
Frontend Developer
#5

Implement HomeEmptyState for Home

To Do

As a frontend developer, implement the HomeEmptyState section for the Home page. framer-motion section with whileHover boxShadow glow (rgba(74,144,226,0.12)). SVG illustration (200x200 viewBox) featuring: corkboard background rect (breathe animation: scale 1→1.1→1, 4.5s infinite, delay 0), notebook lines group (floatY: y 0→-6→0, 5s infinite, delay 0.2), push pin group (breathe delay 0.3, transformOrigin 150px 42px — ellipse shadow, circle head, line needle), pencil group (floatY delay 0.4, rotated rect body and polygon tip). breathe() and floatY() helper functions return motion animate config objects with delay parameter. fadeInUp variants with custom(i) for staggered text reveal (duration 0.6, i*0.15 delay). whileInView with once:true, amount:0.3 viewport. hes- CSS prefix.

AI 88%
Human 12%
Medium Priority
1.5 days
Frontend Developer
#6

Implement HomeTaskStats for Home

To Do

As a frontend developer, implement the HomeTaskStats section for the Home page. STATS_DATA array of 4 stat objects: total(24/30), completed(18/24), remaining(6/24), percentage(75/100 with '%' suffix) — each with key, label, desc, value, max, icon SVG, variant string. AnimatedCounter sub-component uses framer-motion useMotionValue(0), useTransform(rounded), and animate() to count from 0 to value over 1.2s (cubic-bezier ease) when inView. useInView hook triggers animations on scroll into view. AnimatedRing sub-component renders SVG circle with animated strokeDashoffset using framer-motion useMotionValue(circumference) and useTransform — radius=28, circumference=2πr. GSAP used for card entrance stagger. useRef for section. useState for display value in counter. 4 stat cards in CSS grid. hts- CSS prefix.

AI 85%
Human 15%
Medium Priority
2 days
Frontend Developer
#7

Implement HomeFooter for Home

To Do

As a frontend developer, implement the HomeFooter section for the Home page. AnimatedLink sub-component uses framer-motion motion.span with initial='rest' whileHover='hover' — link color transitions from #888888 to #4A90E2 (duration 0.3), underline span scaleX spring (stiffness:300, damping:25). footerLinks array: Home (/Home), Privacy (/Privacy), Terms (/Terms). Brand section shows 'fiery-todo' with hf-logo-dot styled dash separator. Description paragraph about minimalist task manager. hf-divider hr element. Copyright line with pulsing heart (motion.span: scale [1,1.2,1], duration:1.5, repeat:Infinity, repeatDelay:3). Dynamic currentYear via new Date().getFullYear(). hf- CSS prefix.

AI 90%
Human 10%
Low Priority
0.5 days
Frontend Developer
#8

Task Model DB Migration

To Do

As a Backend Developer, define the SQLAlchemy Task model and create Alembic migration for the fiery-todo application. Table: tasks (id UUID primary key, title VARCHAR(500) NOT NULL, completed BOOLEAN DEFAULT FALSE, priority ENUM('high','medium','low') DEFAULT 'medium', order_index INTEGER NOT NULL DEFAULT 0, created_at DATETIME DEFAULT NOW, updated_at DATETIME ON UPDATE NOW). Run alembic revision --autogenerate and alembic upgrade head. Add seed data with 6 example tasks for local development matching the INITIAL_TASKS pattern used in HomeTaskBoard.

AI 65%
Human 35%
High Priority
0.5 days
Backend Developer
#9

Implement Task CRUD API

To Do

As a Backend Developer, implement FastAPI endpoints for task management: GET /api/tasks (list all tasks, sorted by order_index), POST /api/tasks (create task, body: {title, priority}), PATCH /api/tasks/{id} (update task fields: title, completed, priority), DELETE /api/tasks/{id} (delete task), PATCH /api/tasks/reorder (bulk update order_index for drag-and-drop reorder, body: [{id, order_index}]). Return consistent JSON with task shape matching frontend INITIAL_TASKS structure (id, title, priority, date, completed). Include proper HTTP status codes and error responses. Note: frontend tasks 01065db3, 035ef13e, 042a208f depend on this API for live data.

Depends on:#8
Waiting for dependencies
AI 70%
Human 30%
High Priority
1.5 days
Backend Developer
#10

Setup Global Task State

To Do

As a Frontend Developer, set up global state management for tasks using React Context or Zustand. State shape: { tasks: Task[], isLoading: bool, error: string|null, filter: 'All'|'Active'|'Completed' }. Actions: fetchTasks (GET /api/tasks), addTask (POST /api/tasks), updateTask (PATCH /api/tasks/{id}), deleteTask (DELETE /api/tasks/{id}), reorderTasks (PATCH /api/tasks/reorder). Wire axios/fetch calls with proper error handling and loading states. This context/store will be consumed by HomeInputSection (01065db3), HomeTaskBoard (035ef13e), HomeTaskStats (042a208f), and HomeEmptyState (170be022). Note: depends on task-todo-crud-api being implemented.

Depends on:#9
Waiting for dependencies
AI 65%
Human 35%
High Priority
1 day
Frontend Developer
#11

Integrate Home Todo E2E

To Do

As a Tech Lead, verify the end-to-end integration between the Home page frontend sections and the Task CRUD backend API. Ensure: task list fetches on mount and renders in HomeTaskBoard, HomeTaskStats reflects live counts from API data, add task via HomeInputSection POSTs to API and updates UI, edit task PATCHes to API and reflects changes, mark-complete PATCHes task and triggers GSAP card flip animation, delete removes from API and UI with AnimatePresence exit, drag-to-reorder persists new order via bulk reorder endpoint, HomeEmptyState renders when API returns empty list. Verify loading and error states are handled gracefully across all sections.

Depends on:#9#10
Waiting for dependencies
AI 55%
Human 45%
High Priority
1 day
Tech Lead
Home design preview
Home: View Tasks
Home: Add Task
Home: View Task List
Home: Edit Task
Home: Save Changes
Home: Mark Complete
Home: Delete Task
Home: Reorder Tasks