Issue #1 : Initialize React + Vite + TypeScript Project
Labels: epic-1, setup, frontend, priority-high
Milestone: Epic 1 - Project Setup
Dependencies: None
Description:
Set up the foundation for the VividShift frontend application using modern React tooling.
Acceptance Criteria:
Technical Notes:
Use npm create vite@latest frontend -- --template react-ts
Ensure Node.js 18+ is required
Add scripts to root package.json for convenience
Issue #2 : Configure Tailwind CSS with Custom Design Tokens
Labels: epic-1, styling, design-system, priority-high
Milestone: Epic 1 - Project Setup
Dependencies: #1
Description:
Set up Tailwind CSS with custom design tokens matching the VividShift design system.
Acceptance Criteria:
Technical Notes:
Use @tailwindcss/forms plugin for form styling
Configure content paths to scan all React files
Issue #3 : Set Up shadcn/ui with Custom Theme
Labels: epic-1, components, ui-library, priority-high
Milestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Install and configure shadcn/ui component library with VividShift branding.
Acceptance Criteria:
Technical Notes:
Follow shadcn/ui installation guide
Ensure components are installed in src/components/ui/
Use CSS variables for theming
Issue #4 : Create Color Palette CSS Variables
Labels: epic-1, styling, design-system, priority-medium
Milestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Define CSS custom properties for the design system color palette.
Acceptance Criteria:
Create src/styles/colors.css or add to main CSS file
Define all color tokens as CSS variables:
--primary : hsl (180 , 70% , 45% );
--secondary : hsl (15 , 80% , 60% );
--accent : hsl (210 , 80% , 55% );
--background : hsl (210 , 20% , 98% );
--surface : hsl (0 , 0% , 100% );
--muted : hsl (210 , 15% , 90% );
--success : hsl (150 , 60% , 45% );
--warning : hsl (40 , 90% , 50% );
Create dark mode variants (optional, for future)
Import color variables in main CSS entry point
Verify variables are accessible in components
Document color usage in design system docs
Issue #5 : Configure Typography and Spacing Scales
Labels: epic-1, styling, design-system, priority-medium
Milestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Set up typography system with Inter/Plus Jakarta Sans and consistent spacing.
Acceptance Criteria:
Install and configure Inter font (Google Fonts or local)
Install Plus Jakarta Sans for headings (optional)
Install JetBrains Mono for monospace (dates, IDs)
Configure font families in Tailwind config
Define typography scale (text-xs through text-4xl)
Set up spacing scale (4px base unit: 1, 2, 3, 4, 6, 8, 12, 16, 20, 24, 32, 40, 48, 64)
Create typography utility classes
Add example typography showcase page/component
Technical Notes:
Use @fontsource packages or Google Fonts
Ensure fonts load efficiently (preload, font-display)
Issue #6 : Set Up Framer Motion for Animations
Labels: epic-1, animations, dependencies, priority-medium
Milestone: Epic 1 - Project Setup
Dependencies: #1
Description:
Install and configure Framer Motion for smooth animations throughout the app.
Acceptance Criteria:
Technical Notes:
Keep animations performant (use will-change where needed)
Respect prefers-reduced-motion media query
Issue #7 : Create Base Layout Components
Labels: epic-1, components, layout, priority-high
Milestone: Epic 1 - Project Setup
Dependencies: #3 , #6
Description:
Build foundational layout components (DashboardLayout, PageHeader, Modal).
Acceptance Criteria:
Technical Notes:
Use shadcn/ui Dialog component as base
Implement proper focus trapping in modals
Issue #1: Initialize React + Vite + TypeScript Project
Labels:
epic-1,setup,frontend,priority-highMilestone: Epic 1 - Project Setup
Dependencies: None
Description:
Set up the foundation for the VividShift frontend application using modern React tooling.
Acceptance Criteria:
frontend/directory in project root@/for src directory)localhost:5173.env.examplewith required environment variables.gitignoreto exclude frontend build artifactsTechnical Notes:
npm create vite@latest frontend -- --template react-tspackage.jsonfor convenienceIssue #2: Configure Tailwind CSS with Custom Design Tokens
Labels:
epic-1,styling,design-system,priority-highMilestone: Epic 1 - Project Setup
Dependencies: #1
Description:
Set up Tailwind CSS with custom design tokens matching the VividShift design system.
Acceptance Criteria:
tailwind.config.tswith custom theme180 70% 45%)15 80% 60%)210 80% 55%)210 20% 98%)210 15% 90%)150 60% 45%)40 90% 50%)Technical Notes:
@tailwindcss/formsplugin for form stylingcontentpaths to scan all React filesIssue #3: Set Up shadcn/ui with Custom Theme
Labels:
epic-1,components,ui-library,priority-highMilestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Install and configure shadcn/ui component library with VividShift branding.
Acceptance Criteria:
components.jsonwith custom theme colorslib/utils.tswithcn()utility functionnpx shadcn-ui@latest add button)Technical Notes:
src/components/ui/Issue #4: Create Color Palette CSS Variables
Labels:
epic-1,styling,design-system,priority-mediumMilestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Define CSS custom properties for the design system color palette.
Acceptance Criteria:
src/styles/colors.cssor add to main CSS fileIssue #5: Configure Typography and Spacing Scales
Labels:
epic-1,styling,design-system,priority-mediumMilestone: Epic 1 - Project Setup
Dependencies: #2
Description:
Set up typography system with Inter/Plus Jakarta Sans and consistent spacing.
Acceptance Criteria:
Technical Notes:
@fontsourcepackages or Google FontsIssue #6: Set Up Framer Motion for Animations
Labels:
epic-1,animations,dependencies,priority-mediumMilestone: Epic 1 - Project Setup
Dependencies: #1
Description:
Install and configure Framer Motion for smooth animations throughout the app.
Acceptance Criteria:
framer-motionpackagesrc/lib/animations.ts)Technical Notes:
will-changewhere needed)prefers-reduced-motionmedia queryIssue #7: Create Base Layout Components
Labels:
epic-1,components,layout,priority-highMilestone: Epic 1 - Project Setup
Dependencies: #3, #6
Description:
Build foundational layout components (DashboardLayout, PageHeader, Modal).
Acceptance Criteria:
DashboardLayoutcomponent with:PageHeadercomponent with:Modal/Dialogcomponent using shadcn/ui:Technical Notes: