Skip to content

trihead/AdminDash

Repository files navigation

AdminDash - Modern ERP Admin Dashboard

A feature-rich, customizable admin dashboard built with Next.js 16, React 19, TypeScript, and Tailwind CSS 4. Designed for enterprise resource planning (ERP) with a focus on data management, analytics, and user experience.

Version Next.js React TypeScript License

🌟 Features

  • ✨ Modern Tech Stack: Built with the latest versions of Next.js 16 (App Router), React 19, and TypeScript 5.9
  • 🎨 Beautiful UI: Styled with Tailwind CSS 4 and shadcn/ui components
  • πŸŒ“ Dark Mode: Full dark mode support with theme persistence
  • πŸ“Š Excel-like Spreadsheet: AG Grid integration for powerful data management
  • πŸ“ˆ Interactive Charts: Data visualization with Recharts
  • πŸ—‚οΈ Multi-level Navigation: Expandable sidebar with hierarchical menu structure
  • πŸ“± Responsive Design: Mobile-first approach with responsive layouts
  • β™Ώ Accessible: Built with accessibility in mind using Radix UI primitives
  • πŸš€ Performance: Optimized with Next.js 16 and Turbopack dev server

πŸ“¦ Tech Stack

Core Framework

  • Next.js 16.1.1 - React framework with App Router and Turbopack
  • React 19.2.3 - UI library with concurrent features
  • TypeScript 5.9.3 - Type-safe development
  • pnpm - Fast, disk space efficient package manager

UI & Styling

  • Tailwind CSS 4.1.18 - Utility-first CSS framework
  • shadcn/ui - Re-usable component library (components owned in /src/components/ui/)
  • Radix UI - Headless UI components for accessibility
  • lucide-react - Icon library
  • class-variance-authority - CSS class composition
  • tailwind-merge - Merge Tailwind classes without conflicts
  • tw-animate-css - Animation utilities

Data & Visualization

  • AG Grid Community 35.0.0 - Excel-like spreadsheet grid
    • Cell editing, sorting, filtering
    • Keyboard navigation
    • Column management (add, rename, delete, reorder)
    • CSV import/export
    • Row selection and manipulation
  • Recharts 3.6.0 - Interactive charting library
  • date-fns 4.1.0 - Date utility library

Components & Features

  • react-country-flag 3.1.0 - SVG flag icons for language selector
  • Radix UI Components:
    • Avatar
    • Dialog
    • Dropdown Menu
    • Popover
    • Scroll Area
    • Separator
    • Slot
    • Tabs

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ or 20+
  • pnpm (recommended) or npm

Installation

  1. Clone the repository:
git clone https://github.com/trihead/AdminDash.git
cd AdminDash
  1. Install dependencies:
pnpm install
# or
npm install
  1. Run the development server:
pnpm dev
# or
npm run dev
  1. Open http://localhost:3000 in your browser

Build for Production

pnpm build
pnpm start

πŸ“ Project Structure

admin-dash/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ layout.tsx         # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx           # Dashboard home
β”‚   β”‚   β”œβ”€β”€ spreadsheet/       # Excel-like spreadsheet page
β”‚   β”‚   β”œβ”€β”€ not-found.tsx      # 404 page
β”‚   β”‚   └── globals.css        # Global styles
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ layout/            # Layout components (Sidebar, Header, Footer)
β”‚   β”‚   β”œβ”€β”€ dashboard/         # Dashboard-specific components
β”‚   β”‚   β”œβ”€β”€ shared/            # Shared components (ThemeProvider, dialogs)
β”‚   β”‚   └── ui/                # shadcn/ui components (owned)
β”‚   └── lib/
β”‚       └── utils.ts           # Utility functions (cn, etc.)
β”œβ”€β”€ public/                     # Static assets
β”œβ”€β”€ .github/
β”‚   └── copilot-instructions.md # AI coding guidelines
└── package.json

🎨 Key Features

Dashboard

  • Total Hours Card - Visual time tracking with gradient design
  • Project Cards - Track multiple projects with progress bars, team avatars, status badges
  • Revenue Chart - Interactive line chart with hover tooltips
  • Time Tracker - Session-based time tracking with play/pause controls
  • Project Status Table - Paginated table with filtering and sorting

Spreadsheet Page

  • Excel-like data entry with full keyboard navigation
  • Add/delete rows and columns dynamically
  • Rename columns with simple prompts
  • Cell editing with dropdown editors for specific fields
  • CSV import/export functionality
  • Column sorting, filtering, and resizing
  • Dark mode support

Layout & Navigation

  • Collapsible Sidebar - Hover-to-expand on desktop, overlay on mobile
  • Multi-level Navigation - Expandable menu items with sub-navigation
  • Theme Toggle - Persistent dark/light mode with localStorage
  • Responsive Header - Icons for weather, language, search, fullscreen, cart, notifications
  • Footer - Dynamic version display from package.json

πŸ› οΈ Development

Available Scripts

pnpm dev          # Start development server (Turbopack)
pnpm build        # Build for production
pnpm start        # Start production server
pnpm lint         # Run ESLint

Adding shadcn/ui Components

pnpm dlx shadcn@latest add [component-name]

Components are installed to src/components/ui/ and can be customized directly.

🎯 Customization

Theme Configuration

  • Edit src/components/shared/ThemeProvider.tsx for theme logic
  • Modify src/app/globals.css for color variables
  • Dark mode classes: dark:* in Tailwind

Sidebar Navigation

  • Edit src/components/layout/Sidebar.tsx navigation array
  • Add new routes in src/app/[route]/page.tsx

Branding

  • Company name: Search and replace "iWorx.Pro" in components
  • Logo: Update src/components/layout/Sidebar.tsx logo section
  • Colors: Modify Tailwind theme in tailwind.config.ts

πŸ“ Dependencies

Production Dependencies

{
  "@radix-ui/react-avatar": "^1.1.11",
  "@radix-ui/react-dialog": "^1.1.15",
  "@radix-ui/react-dropdown-menu": "^2.1.16",
  "@radix-ui/react-popover": "^1.1.15",
  "@radix-ui/react-scroll-area": "^1.2.10",
  "@radix-ui/react-separator": "^1.1.8",
  "@radix-ui/react-slot": "^1.2.4",
  "@radix-ui/react-tabs": "^1.1.13",
  "ag-grid-community": "^35.0.0",
  "ag-grid-react": "^35.0.0",
  "class-variance-authority": "^0.7.1",
  "clsx": "^2.1.1",
  "date-fns": "^4.1.0",
  "lucide-react": "^0.562.0",
  "next": "16.1.1",
  "react": "19.2.3",
  "react-country-flag": "^3.1.0",
  "react-dom": "19.2.3",
  "recharts": "^3.6.0",
  "tailwind-merge": "^3.4.0"
}

Development Dependencies

{
  "@tailwindcss/postcss": "^4",
  "@types/node": "^20",
  "@types/react": "^19",
  "@types/react-dom": "^19",
  "eslint": "^9",
  "eslint-config-next": "16.1.1",
  "tailwindcss": "^4",
  "tw-animate-css": "^1.4.0",
  "typescript": "^5"
}

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

πŸ“§ Contact

Project Link: https://github.com/trihead/AdminDash


Built with ❀️ by iWorx.Pro

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors