Pierre Wessman 08a3132bec polish
2025-12-14 17:47:17 +01:00
2025-12-14 17:47:17 +01:00
2025-12-14 17:47:17 +01:00
2025-12-14 17:47:17 +01:00
2025-12-12 10:46:15 +01:00
2025-12-14 17:47:17 +01:00
2025-12-14 17:47:17 +01:00
2025-12-12 09:51:59 +01:00
2025-12-12 12:50:10 +01:00
2025-12-12 10:46:15 +01:00
2025-12-12 10:46:15 +01:00
2025-12-12 10:46:15 +01:00
2025-12-12 10:46:15 +01:00

shadcn Dashboard

A modern, full-featured dashboard application built with Next.js 14, shadcn/ui, and Chart.js.

Features

  • Modern Stack: Next.js 14 App Router, TypeScript, Tailwind CSS v4
  • UI Components: shadcn/ui component library with custom theming
  • Dark Mode: Full dark/light theme support with system detection
  • Data Visualization: Interactive charts using Chart.js
  • Responsive Design: Mobile-first responsive layout
  • Sidebar Navigation: Collapsible sidebar with nested navigation
  • Dashboard Components:
    • 4 metric cards with trend indicators
    • Revenue overview line chart
    • Sales activity bar chart
    • Recent payments table with status badges
    • Team members table with avatars

Getting Started

Development

# Install dependencies
pnpm install

# Run development server
pnpm run dev

Open http://localhost:3000 to view the dashboard.

Build

# Create production build
pnpm run build

# Start production server
pnpm start

Project Structure

shadcn-dashboard/
├── app/
│   ├── layout.tsx              # Root layout with providers
│   ├── page.tsx                # Main dashboard page
│   └── globals.css             # Global styles
├── components/
│   ├── ui/                     # shadcn/ui components
│   ├── layout/
│   │   ├── app-sidebar.tsx     # Navigation sidebar
│   │   ├── header.tsx          # Top header
│   │   ├── theme-toggle.tsx    # Theme switcher
│   │   └── user-nav.tsx        # User profile dropdown
│   ├── dashboard/
│   │   ├── metric-card.tsx     # Metric display cards
│   │   ├── revenue-chart.tsx   # Revenue line chart
│   │   ├── sales-chart.tsx     # Sales bar chart
│   │   ├── payments-table.tsx  # Payments data table
│   │   ├── team-table.tsx      # Team members table
│   │   └── dashboard-tabs.tsx  # Tab navigation
│   ├── charts/
│   │   ├── line-chart.tsx      # Line chart wrapper
│   │   └── bar-chart.tsx       # Bar chart wrapper
│   └── theme-provider.tsx      # Theme context provider
├── lib/
│   ├── utils.ts                # Utility functions
│   ├── mock-data.ts            # Mock dashboard data
│   └── chart-config.ts         # Chart.js configuration
└── types/
    └── dashboard.ts            # TypeScript interfaces

Tech Stack

Features Implemented

Phase 1: Project Foundation

  • Next.js 14 project initialization
  • shadcn/ui setup
  • All required dependencies installed

Phase 2: Theme & Layout

  • Theme provider with dark/light mode
  • Collapsible sidebar navigation
  • Header with search and theme toggle
  • User profile dropdown

Phase 3: Data Layer

  • TypeScript interfaces for all data types
  • Mock data generation
  • Type-safe data handling

Phase 4: Charts

  • Chart.js configuration with theme support
  • Line chart component
  • Bar chart component
  • Theme-aware color schemes

Phase 5: Dashboard Components

  • Metric cards with trend indicators
  • Revenue overview chart
  • Sales activity chart
  • Payments table with actions
  • Team members table

Phase 6: Assembly & Polish

  • Complete dashboard page layout
  • Responsive grid system
  • Custom scrollbar styling
  • Inter font integration

Phase 7: Testing

  • Development server verified
  • Production build successful
  • No TypeScript errors
  • All components rendering correctly

Development Notes

See CLAUDE.md for development-specific notes.

See PLAN.md for the detailed implementation plan.

License

MIT

Description
No description provided
Readme 135 KiB
Languages
TypeScript 95%
CSS 4.5%
JavaScript 0.5%