A modern, responsive dashboard application inspired by CRED Garage, built with Next.js, TypeScript, and Redux. Features a beautiful dark/light theme toggle, smooth animations, and a premium user experience.
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Dark/Light Theme Toggle - Smooth theme switching with persistence
- Premium Animations - Framer Motion powered entrance animations
- Loading Skeletons - Beautiful shimmer effects during data loading
- Gradient Backgrounds - Eye-catching visual design
- Avatar Display - User profile picture with fallback initials
- Level System - XP progress tracking with visual progress bar
- Interactive Elements - Hover effects and tooltips
- Real-time Updates - Dynamic level progression
- Points Tracking - Current points with milestone progress
- Visual Progress Bar - Animated progress indicator with percentage
- Milestone Indicators - Clear targets and achievements
- Interactive Tooltips - Detailed information on hover
- 6 Premium Benefits - Exclusive discounts, priority support, VIP access
- Interactive Cards - Hover animations and click interactions
- Category Organization - Shopping, support, access, rewards
- Status Indicators - Active/inactive benefit states
- Redux State Management - Centralized data management
- TypeScript - Full type safety and better developer experience
- shadcn/ui Components - Modern, accessible UI components
- Framer Motion - Smooth animations and transitions
- Next.js 14 - Latest React framework with App Router
- Next.js 14 - React framework with App Router
- React 18 - Latest React with concurrent features
- TypeScript - Type-safe JavaScript
- Redux Toolkit - Modern Redux with less boilerplate
- React Redux - React bindings for Redux
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - High-quality React components
- Radix UI - Accessible component primitives
- Framer Motion - Animation library
- next-themes - Theme switching with persistence
- Lucide React - Beautiful SVG icons
- ESLint - Code linting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixes
- Node.js 18+ installed
- npm or yarn package manager
git clone <repository-url>
cd cred-garage-inspired-dashboard
npm install
# or
yarn install
npm run dev
# or
yarn dev
Navigate to http://localhost:3000 to see the dashboard.
npm run build
npm start
# or
yarn build
yarn start
cred-garage-inspired-dashboard/
βββ app/ # Next.js App Router
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Main Dashboard page
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ BenefitsSection.tsx # Benefits Section
β βββ Header.tsx # Dashboard Header
β βββ LoadingSkeletons.tsx # For loading skeletons
β βββ RewardPointsProgress.tsx # Reward Points Progress
β βββ ThemeToggle.tsx # Theme Toggle switch for light/dark theme
β βββ UserProfileSummary.tsx # User Profile Summary
βββ hooks/
β βββ hooks.ts
βββ lib/
β βββ utils.ts
βββ providers/
β βββ ReduxProvider.tsx
β βββ ThemeProvider.tsx
βββ store/ # Redux store
β βββ store.ts # Store configuration
β βββ dashboardSlice.ts # Main dashboard slice
βββ types/ # TypeScript types
β βββ dashboard.ts # Dashboard type definitions
βββ .gitignore # Exclude files like node_modules or .env from version control
βββ components.json # ShadCN UI component settings
βββ eslint.config.mjs # ESLint configuration
βββ next.config.ts # Next.js app configuration
βββ package.json # Defines dependencies and scripts for building/running the app
βββ postcss.config.mjs # PostCSS plugins, used by Tailwind
βββ tailwind.config.ts # Tailwind custom configuration
βββ README.md
- Switch between light and dark modes
- Persistent theme selection using localStorage
- Smooth transitions without content flash
- Beautiful skeleton loading animations
- Shimmer effects for better UX
- Coordinated loading across all sections
- Hover effects on cards and buttons
- Tooltip information on important elements
- Smooth animations using Framer Motion
- Centralized state management
- Single dashboard slice for simplicity
- TypeScript integration for type safety
Edit the benefits array in store/dashboardSlice.ts
:
const benefitsData: Benefit[] = [
{
id: 7,
icon: YourIcon,
title: "New Benefit",
description: "Description here",
buttonText: "Action",
color: "text-blue-500",
category: "new",
isActive: true,
},
// ... existing benefits
]
Update CSS variables in app/globals.css
:
:root {
--primary: 240 5.9% 10%;
--primary-foreground: 0 0% 98%;
/* ... other variables */
}
Modify Framer Motion props in components:
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8, delay: 0.2 }} // Customize here
>
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- CRED - Design inspiration
- shadcn/ui - Beautiful component library
- Vercel - Hosting and deployment platform
- Tailwind CSS - Utility-first CSS framework