Skip to content

abdallahawad3/admin-dashboard

Repository files navigation

Admin Dashboard

A modern, responsive admin dashboard built with React, TypeScript, and Material-UI featuring dark/light mode themes, RTL support, and interactive data visualizations.

๐Ÿš€ Features

  • Modern UI/UX: Clean and intuitive interface built with Material-UI
  • Theme Support: Toggle between dark and light modes
  • RTL/LTR Support: Full right-to-left language support
  • Responsive Design: Works seamlessly across all device sizes
  • Data Visualization: Interactive charts using popular charting libraries
  • Team Management: Comprehensive team and contact management
  • Calendar Integration: Built-in calendar functionality
  • Form Handling: Professional form components with validation
  • Geography Charts: Interactive map visualizations

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React 18 + TypeScript
  • Build Tool: Vite
  • UI Library: Material-UI (MUI) v5
  • Routing: React Router DOM
  • Styling: Emotion CSS-in-JS
  • Charts: Chart.js / Recharts / Nivo
  • Icons: Material-UI Icons
  • State Management: React Context API

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/          # Reusable UI components
โ”‚   โ”œโ”€โ”€ Dashboard/      # Dashboard-specific components
โ”‚   โ””โ”€โ”€ ui/            # Generic UI components
โ”œโ”€โ”€ data/              # Mock data and constants
โ”œโ”€โ”€ pages/             # Page components
โ”‚   โ”œโ”€โ”€ bar/          # Bar chart page
โ”‚   โ”œโ”€โ”€ calendar/     # Calendar page
โ”‚   โ”œโ”€โ”€ contact/      # Contact management
โ”‚   โ”œโ”€โ”€ dashboard/    # Main dashboard
โ”‚   โ”œโ”€โ”€ faq/          # FAQ page
โ”‚   โ”œโ”€โ”€ form/         # Form page
โ”‚   โ”œโ”€โ”€ Geography/    # Geography chart
โ”‚   โ”œโ”€โ”€ global/       # Global layout components
โ”‚   โ”œโ”€โ”€ invoices/     # Invoice management
โ”‚   โ”œโ”€โ”€ line/         # Line chart page
โ”‚   โ”œโ”€โ”€ pie/          # Pie chart page
โ”‚   โ””โ”€โ”€ team/         # Team management
โ”œโ”€โ”€ App.tsx           # Main application component
โ”œโ”€โ”€ main.tsx          # Application entry point
โ”œโ”€โ”€ theme.tsx         # Theme configuration and context
โ””โ”€โ”€ index.css         # Global styles

๐ŸŽจ Theme System

The application features a comprehensive theme system with:

  • Color Tokens: Predefined color palettes for consistency
  • Dark/Light Mode: Toggle between themes
  • RTL Support: Right-to-left language support
  • Custom Components: Themed Material-UI components

Available Color Tokens

  • Primary: Main brand colors
  • Grey: Neutral colors for backgrounds and text
  • Green Accent: Success states and positive actions
  • Red Accent: Error states and warnings
  • Blue Accent: Information and links

๐Ÿ“Š Available Pages

  1. Dashboard - Main overview with key metrics and charts
  2. Team Management - Employee directory and management
  3. Contacts - Contact information management
  4. Invoices - Invoice tracking and management
  5. Profile Form - User profile creation and editing
  6. Calendar - Event scheduling and management
  7. FAQ - Frequently asked questions
  8. Charts:
    • Bar Chart - Data comparison visualization
    • Pie Chart - Proportion representation
    • Line Chart - Trend analysis
    • Geography Chart - Location-based data

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone <repository-url>
    cd admin-dashboard
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start development server

    npm run dev
    # or
    yarn dev
  4. Open your browser Navigate to http://localhost:5173

Build for Production

npm run build
# or
yarn build

๐ŸŽ›๏ธ Configuration

Theme Customization

Edit src/theme.tsx to customize:

  • Color palettes
  • Typography settings
  • Component overrides
  • Breakpoints

Adding New Pages

  1. Create a new folder in src/pages/
  2. Add your component file
  3. Update routing in src/App.tsx
  4. Add navigation link in src/pages/global/Sidebar.tsx

๐Ÿ”ง Run Project

  • npm run dev - Start development server

๐Ÿ“ฑ Responsive Breakpoints

  • Mobile: 0px - 599px
  • Tablet: 600px - 959px
  • Desktop: 960px - 1279px
  • Large Desktop: 1280px+

๐ŸŽจ Design System

The dashboard follows Material Design principles with custom enhancements:

  • Spacing: 8px grid system
  • Typography: Source Sans 3 font family
  • Shadows: Consistent elevation system
  • Border Radius: Rounded corners for modern feel

๐Ÿ”ฎ Future Enhancements

  • User authentication and authorization
  • Real-time data updates
  • Advanced filtering and search
  • Export functionality for charts and data
  • Mobile app version
  • API integration
  • Unit and integration tests
  • Internationalization (i18n)

Built with โค๏ธ using React and Material-UI

About

A modern, responsive admin dashboard built with React, TypeScript, and Material-UI featuring dark/light mode themes, RTL support, and interactive data visualizations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages