Skip to content

Latest commit

 

History

History
87 lines (76 loc) · 5.15 KB

tasks.md

File metadata and controls

87 lines (76 loc) · 5.15 KB

NotesReady — Master Task Tracker

Phase 0: Project Definition & Architecture — COMPLETE

  • Initial engineering audit and repository assessment
  • Establish official brand "Selected Concept 04" vector assets
  • Complete 4-product reference study (Evernote, Notion, Supernotes, Notejoy)
  • Finalize official brand color system: NotesReady Ember (#E85D3F)
  • Create core project documentation (AGENTS.md, README.md, prd.md, architecture.md, design.md, rules.md, tasks.md, decisions.md, testing.md, memory.md, research.md, plans.md)

Phase 1: Foundation & Application Shell — APPROVED / COMPLETE WITH REVIEW CORRECTIONS

  • Initialize Next.js 15+ + React 19 + TypeScript app scaffold
  • Configure Tailwind CSS v4 / design tokens with monochrome & slate foundation
  • Integrate official Concept 04 brand vectors (SVG emblem, wordmark, favicon, app icons)
  • Build responsive application shell:
    • Collapsible multi-tier sidebar
    • Workspace switcher
    • Global search & quick-find trigger (⌘K)
    • Mobile responsive navigation drawer / sheet
    • Active route indicators & sub-route views (/app, /app/notes, /app/favorites, /app/shared)
    • Public marketing landing page (/), Privacy (/privacy), Terms (/terms), and Custom 404 (/_not-found)
  • Set up unit test runner (Vitest) and basic shell tests
  • Validate production build (next build) and cross-viewport browser rendering
  • Final Phase 1 corrections: Removed native browser alert from New Note button
  • Phase 1 recovery corrections: Concept 04 Latin 'N' vector geometry rectified, Ember CSS tokens integrated, primary CTA/New Note updated, and marketing/legal footers restructured

Phase 2: Core Workspace & Note Creation — IMPLEMENTED / PENDING OWNER APPROVAL

  • Note domain models & schemas (TypeScript runtime validation)
  • Local-first client state with zero-dependency IndexedDB adapter (notesready-db)
  • Storage honesty: browser detects IndexedDB unavailability without silent RAM masquerading
  • Transaction durability: saveNote and hardDeleteNote resolve on tx.oncomplete and reject on error/abort
  • Reset cached rejected dbPromise on error to allow retries
  • "New Note" creation flow with immediate title editing and auto-focus
  • Title Enter key navigation: Enter in title input seamlessly focuses content textarea
  • Safe note deletion: inline confirmation protection ("Move to trash?", "Cancel", "Move to Trash")
  • Header route & status synchronization: contextually reflects "Workspace", "All Notes", "Favorites", or note title; hides note save indicator on overview routes
  • Recent notes limit (repo.listRecentNotes(6)) and in-memory reactive updates to prevent unnecessary full-workspace re-queries on autosave
  • Debounced autosave (400ms) with honest local save status
  • Soft-deletion support and missing note error handling

Phase 3: Rich Editor — COMPLETE & COMMITTED LOCALLY

  • Tiptap modular editor integration (Tiptap v3)
  • Block extensions: Headings (H1-H3), Checklists, Code blocks, Quotes, Dividers, History
  • Keyboard shortcuts and Markdown shortcuts (# , - [ ], > )
  • Contextual floating toolbar & bubble menu with NotesReady Ember active state
  • Content-format marker (plain-text-v1, tiptap-json-v1) and in-memory non-destructive legacy migration
  • Truthful autosave states (Saving..., Saved locally, Could not save with retry)
  • Lifecycle flushing on unmount, pagehide, and visibilitychange
  • Hostile paste sanitization and schema security
  • Document size limits (500 KB soft warning, 2 MB hard blocking limit)
  • Editor error boundary with plain-textarea fallback
  • Zero note content in logs verification

Phase 4: Persistence & Organization

  • PostgreSQL schema & migrations
  • Notebooks, folders, and nested organization
  • Tags, favorites, archive, and trash with recovery
  • Resilient autosave with offline fallback

Phase 5: Real-Time Collaboration

  • Standalone Hocuspocus WebSocket server
  • Yjs document synchronization
  • Ephemeral presence: Multi-user cursors & active selections
  • Connection status indicator (Connected, Syncing, Offline)

Phase 6: Sharing & Permissions

  • Role-Based Access Control (Owner, Editor, Viewer)
  • Unguessable cryptographic public share links
  • Revocation & permission management

Phase 7: Search & Retrieval

  • PostgreSQL tsvector full-text search
  • Command palette (Ctrl+K) with live highlights and filters

Phase 8: Files & Media

  • S3-compatible object storage integration
  • Presigned upload validation & drag-and-drop file attachment

Phase 9: Polish, Mobile Web & Performance

  • Touch gestures, mobile virtual keyboard accessory toolbar
  • Performance profiling & Core Web Vitals optimization
  • Comprehensive accessibility audit (WCAG AA compliance)

Phase 10: Production Security, Legal, SEO & Launch

  • Public marketing landing page (notesready.in)
  • Privacy policy, Terms of Service, Cookie notice
  • Meta tags, OpenGraph, sitemap.xml, robots.txt
  • Production security headers & rate limiting