4.4 KiB
4.4 KiB
Technology Stack
Analysis Date: 2026-03-13
Languages
Primary:
- TypeScript (React) - All application logic and components
- CSS - Styling via Tailwind CSS with custom theme variables
Secondary:
- JavaScript - Build tool configuration
Runtime
Environment:
- Node.js (latest LTS recommended)
Package Manager:
- pnpm (evidenced by
pnpm.overridesinpackage.json) - Lockfile: Not committed to repository
Frameworks
Core:
- React 18.3.1 - UI library with hooks and functional components
- Peer dependency (optional, for compatibility with Figma Make)
- React Router 7.13.0 - Client-side routing with Data API mode
- Router configuration in
src/app/routes.ts - Uses
createBrowserRouterfor SPA navigation
- Router configuration in
UI Component Framework:
- Radix UI - Headless accessible UI primitives
- 23 Radix primitives including: accordion, dialog, dropdown-menu, select, tabs, tooltip, etc.
- Provides accessibility and keyboard navigation out of the box
Styling:
- Tailwind CSS 4.1.12 - Utility-first CSS framework
- Integrated via
@tailwindcss/viteplugin - Custom theme configuration in
src/styles/theme.css - Uses CSS variables for theming with light/dark mode support
- Animation support via
tw-animate-css
- Integrated via
Animation:
- Framer Motion ("motion" package 12.23.24) - React animation library
Build Tools
Build System:
- Vite 6.3.5 - Fast development server and production bundler
- Config:
vite.config.ts - Uses
@vitejs/plugin-reactfor React support - Path alias
@configured to./src - Asset support:
.svg,.csvfiles
- Config:
CSS Processing:
- PostCSS - CSS transformation (via Vite plugin)
- Config:
postcss.config.mjs(empty - Tailwind v4 handles this automatically)
- Config:
Key Dependencies
Critical UI Components:
@radix-ui/react-*(23 packages) - Accessible UI primitivesclass-variance-authority0.7.1 - Type-safe Tailwind variant generationclsx2.1.1 - Conditional class name joiningtailwind-merge3.2.0 - Tailwind class deduplicationlucide-react0.487.0 - Icon library
Form & Input:
react-hook-form7.55.0 - Form state management and validationcmdk1.1.1 - Command palette/Combobox componentinput-otp1.4.2 - OTP input component
Data Visualization:
recharts2.15.2 - React charting library
Date Handling:
date-fns3.6.0 - Date formatting and manipulationreact-day-picker8.10.1 - Date picker component
Theming:
next-themes0.4.6 - Theme switching (dark/light mode)
Notifications:
sonner2.0.3 - Toast notifications
Carousels & Layout:
embla-carousel-react8.6.0 - Touch carouselreact-resizable-panels2.1.7 - Resizable panel layoutsreact-responsive-masonry2.7.1 - Masonry grid layout
Drag & Drop:
react-dnd16.0.1 +react-dnd-html5-backend16.0.1 - Drag and drop functionality
Drawer/Modal:
vaul1.1.2 - Drawer component for mobile
Slider:
react-slick0.31.0 - Image/content carousel
Optional/Peer Dependencies:
@emotion/react/@emotion/styled- CSS-in-JS (for MUI compatibility)@mui/material/@mui/icons-material- Material UI (peer dependency for Figma Make)
Configuration
Environment:
- No
.envfile detected in repository - Configuration appears to be hardcoded or passed at build time
- No environment-specific configs visible
Build:
vite.config.ts- Vite configuration with React and Tailwind pluginspostcss.config.mjs- Empty config (Tailwind v4 handles PostCSS internally)tsconfig.json- Not present in repository (TypeScript handled by Vite)
Platform Requirements
Development:
- Node.js (latest LTS)
- pnpm package manager
- Modern browser with ES2020+ support
Production:
- Static file hosting (SPA)
- Target: 7-inch industrial touchscreen displays (800x480 to 1024x600)
- Optimized for landscape orientation
- Touch-friendly interface design
Browser Support:
- Modern Chromium-based browsers (Chrome, Edge)
- WebKit (Safari)
- Firefox (ESR)
Notable Architecture Decisions
Design System:
- Uses shadcn/ui pattern (Radix + Tailwind + CVA)
- Custom theme tokens defined in CSS variables
- Dark theme by default for industrial use
- Touch-optimized sizing (minimum 44x44px touch targets)
Component Organization:
- UI components:
src/app/components/ui/ - View components:
src/app/components/views/ - Layout components:
src/app/components/(root level)
Stack analysis: 2026-03-13