|
1 | 1 | # Vibe Dashboard |
| 2 | + |
| 3 | +A modern frontend dashboard for displaying different metrics using bar charts. |
| 4 | + |
| 5 | +## 🚀 Features |
| 6 | + |
| 7 | +- **Interactive Bar Charts**: Visualize metrics with responsive Recharts components |
| 8 | +- **Multiple Metrics**: Switch between Sales, User Activity, and Revenue data |
| 9 | +- **Modern UI**: Clean, professional dashboard design with smooth transitions |
| 10 | +- **Responsive Design**: Works across desktop and mobile devices |
| 11 | +- **TypeScript**: Full type safety throughout the application |
| 12 | +- **Monorepo Structure**: Organized with pnpm workspaces |
| 13 | + |
| 14 | +## 📦 Tech Stack |
| 15 | + |
| 16 | +- **Frontend Framework**: React 19 with TypeScript |
| 17 | +- **Build Tool**: Vite 7 |
| 18 | +- **Charts**: Recharts |
| 19 | +- **Icons**: Lucide React |
| 20 | +- **Package Manager**: pnpm |
| 21 | +- **Monorepo**: pnpm workspaces |
| 22 | + |
| 23 | +## 🏗 Project Structure |
| 24 | + |
| 25 | +``` |
| 26 | +vibe-dashboard/ |
| 27 | +├── apps/ |
| 28 | +│ └── dashboard/ # Main dashboard application |
| 29 | +│ ├── src/ |
| 30 | +│ │ ├── App.tsx # Main dashboard component |
| 31 | +│ │ ├── App.css # Dashboard styles |
| 32 | +│ │ └── ... |
| 33 | +│ └── package.json |
| 34 | +├── packages/ # Shared packages (future) |
| 35 | +├── package.json # Root package.json |
| 36 | +├── pnpm-workspace.yaml # pnpm workspace configuration |
| 37 | +└── README.md |
| 38 | +``` |
| 39 | + |
| 40 | +## 🚀 Getting Started |
| 41 | + |
| 42 | +### Prerequisites |
| 43 | + |
| 44 | +- Node.js (v20 or higher) |
| 45 | +- pnpm (v10 or higher) |
| 46 | + |
| 47 | +### Installation |
| 48 | + |
| 49 | +1. Clone the repository: |
| 50 | +```bash |
| 51 | +git clone https://github.com/Boshen/vibe-dashboard.git |
| 52 | +cd vibe-dashboard |
| 53 | +``` |
| 54 | + |
| 55 | +2. Install dependencies: |
| 56 | +```bash |
| 57 | +pnpm install |
| 58 | +``` |
| 59 | + |
| 60 | +3. Start the development server: |
| 61 | +```bash |
| 62 | +pnpm dev |
| 63 | +``` |
| 64 | + |
| 65 | +4. Open your browser and navigate to `http://localhost:5173` |
| 66 | + |
| 67 | +### Available Scripts |
| 68 | + |
| 69 | +- `pnpm dev` - Start the development server |
| 70 | +- `pnpm build` - Build all applications for production |
| 71 | +- `pnpm lint` - Run linting across all packages |
| 72 | +- `pnpm test` - Run tests across all packages |
| 73 | +- `pnpm clean` - Clean build artifacts |
| 74 | + |
| 75 | +## 📊 Dashboard Features |
| 76 | + |
| 77 | +### Metrics Views |
| 78 | + |
| 79 | +1. **Sales**: Monthly sales data with trend visualization |
| 80 | +2. **User Activity**: Daily active/inactive users with stacked bars |
| 81 | +3. **Revenue**: Quarterly revenue breakdown |
| 82 | + |
| 83 | +### Interactive Elements |
| 84 | + |
| 85 | +- Click navigation buttons to switch between different metrics |
| 86 | +- Hover over chart elements for detailed tooltips |
| 87 | +- Responsive design adapts to different screen sizes |
| 88 | + |
| 89 | +## 🔧 Development |
| 90 | + |
| 91 | +### Adding New Metrics |
| 92 | + |
| 93 | +1. Add your data to the respective data arrays in `apps/dashboard/src/App.tsx` |
| 94 | +2. Update the metrics configuration with your new metric |
| 95 | +3. Customize the chart rendering logic if needed |
| 96 | + |
| 97 | +### Styling |
| 98 | + |
| 99 | +The dashboard uses modern CSS with: |
| 100 | +- CSS Grid for responsive layouts |
| 101 | +- Flexbox for component alignment |
| 102 | +- Custom CSS variables for consistent theming |
| 103 | +- Responsive breakpoints for mobile support |
| 104 | + |
| 105 | +## 📝 License |
| 106 | + |
| 107 | +MIT |
0 commit comments