compassmock/CLAUDE.md
Nicholai 67fed00bbd feat(schedule): add gantt schedule with task management and dependencies
Implements the schedule module for COMPASS construction PM:

- D1/Drizzle schema: tasks, dependencies, phases tables
- frappe-gantt integration for interactive timeline view
- Critical path analysis (forward/backward pass, float calc)
- Dependency validation with cycle detection
- Business day calculations (skip weekends/holidays)
- Date propagation engine for cascading schedule changes
- Task CRUD with phase assignment and progress tracking
- Dependency management (FS/FF/SS/SF with lag support)
- Dual view: sortable list view + gantt chart view

Also includes full Next.js app scaffold with dashboard,
shadcn/ui components, and Cloudflare Workers deployment config.
2026-01-23 19:34:24 -07:00

1.6 KiB
Executable File

dashboard-app-template

a Next.js 15 dashboard template deployed to Cloudflare Workers via OpenNext.

tech stack

  • Next.js 15.5 with Turbopack
  • React 19
  • Tailwind CSS v4
  • shadcn/ui (new-york style)
  • Recharts for data visualization
  • Cloudflare Workers (via @opennextjs/cloudflare)

commands

  • bun dev - start dev server (turbopack)
  • bun build - production build
  • bun preview - build and preview on cloudflare runtime
  • bun deploy - build and deploy to cloudflare
  • bun lint - run eslint

project structure

src/
├── app/              # Next.js app router
│   ├── dashboard/    # dashboard routes
│   ├── globals.css   # tailwind + theme variables
│   ├── layout.tsx    # root layout
│   └── page.tsx      # home page
├── components/
│   ├── ui/           # shadcn/ui primitives
│   └── *.tsx         # app-specific components (sidebar, charts, tables)
├── hooks/            # custom react hooks
└── lib/
    └── utils.ts      # cn() helper for class merging

shadcn/ui

uses shadcn/ui with new-york style. add components via:

bunx shadcn@latest add <component-name>

config in components.json. aliases:

  • @/components -> src/components
  • @/components/ui -> src/components/ui
  • @/lib -> src/lib
  • @/hooks -> src/hooks

cloudflare deployment

configured in wrangler.jsonc. uses OpenNext for Next.js compatibility.

env vars go in .dev.vars (local) or cloudflare dashboard (prod).

key bindings:

  • ASSETS - static asset serving
  • IMAGES - cloudflare image optimization
  • WORKER_SELF_REFERENCE - self-reference for caching