A modern, responsive admin dashboard built with React, Material-UI, and Vite. This dashboard provides comprehensive data visualization and management capabilities with a clean, professional interface supporting both light and dark themes.
- Interactive Dashboard - Overview with key metrics and statistics
- Data Visualization - Multiple chart types (Bar, Line, Pie, Geography)
- Progress Tracking - Visual progress indicators and stat boxes
- Real-time Data - Dynamic data updates and transactions
- Team Management - View and manage team members
- Contact Management - Comprehensive contact information system
- Invoice Management - Track and manage invoices with data grid
- User Forms - Create and edit user profiles with validation
- Responsive Design - Works seamlessly across desktop and mobile devices
- Dark/Light Theme - Toggle between dark and light modes
- Modern UI Components - Built with Material-UI for consistency
- Interactive Sidebar - Collapsible navigation with icons
- Professional Topbar - Clean header with user controls
- Calendar Integration - Full calendar functionality with events
- FAQ Section - Expandable frequently asked questions
- Geographic Visualization - World map with data overlays
- Form Validation - Robust form handling with Formik and Yup
Calendar Integration | FAQ Section |
![]() |
![]() |
Geographic Visualization | Form Validation |
![]() |
![]() |
- React 19.1.0 - Modern JavaScript library for building user interfaces
- Vite - Fast build tool and development server
- React Router DOM - Client-side routing
- Material-UI (MUI) - React components implementing Google's Material Design
- Emotion - CSS-in-JS library for styling
- React Pro Sidebar - Professional sidebar component
- Nivo - Rich set of data visualization components
- Bar charts
- Line charts
- Pie charts
- Geographic maps
- Formik - Build forms without tears
- Yup - JavaScript schema validation
- FullCalendar - Full-featured calendar component
- ESLint - Code linting and quality assurance
- React SWC - Fast JavaScript/TypeScript compiler
- Node.js (version 16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd Admin-Dashboard
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
to view the application
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLint for code quality
- Use the sidebar to navigate between different sections
- Toggle the sidebar collapse/expand using the hamburger menu
- Switch between light and dark themes using the theme toggle
- View key metrics and statistics on the main dashboard
- Interact with charts by hovering for detailed information
- Monitor recent transactions and activities
- Team: Add, edit, and manage team member information
- Contacts: Maintain a comprehensive contact database
- Invoices: Track financial transactions with sortable data grid
- Forms: Create new user profiles with validated input fields
- Bar Charts: Compare data across categories
- Line Charts: Track trends over time
- Pie Charts: View data distribution
- Geography: Visualize data on world maps
Bar Charts | Line Charts |
![]() |
![]() |
Pie Charts | Geography |
![]() |
![]() |
src/
βββ components/ # Reusable UI components
β βββ BarChart.jsx # Bar chart component
β βββ LineChart.jsx # Line chart component
β βββ PieChart.jsx # Pie chart component
β βββ GeographyChart.jsx # Map visualization
β βββ Header.jsx # Page headers
β βββ ProgressCircle.jsx # Progress indicators
β βββ StatBox.jsx # Statistics display
βββ scenes/ # Page components
β βββ dashboard/ # Main dashboard
β βββ team/ # Team management
β βββ contacts/ # Contact management
β βββ invoices/ # Invoice tracking
β βββ form/ # User forms
β βββ calendar/ # Calendar functionality
β βββ faq/ # FAQ section
β βββ bar/ # Bar chart page
β βββ pie/ # Pie chart page
β βββ line/ # Line chart page
β βββ geography/ # Geographic visualization
β βββ global/ # Global components (Sidebar, Topbar)
βββ data/ # Mock data and constants
βββ assets/ # Static assets
βββ theme.js # Theme configuration
βββ App.jsx # Main application component
The application supports both light and dark themes. Theme configuration is managed in src/theme.js
. You can customize:
- Color palettes
- Typography
- Component styling
- Breakpoints
- Create a new component in
src/scenes/
- Add the route in
App.jsx
- Update the sidebar navigation in
src/scenes/global/Sidebar.jsx
Replace mock data in src/data/mockData.js
with real API calls:
- Update data fetching logic in components
- Implement proper error handling
- Add loading states
We welcome contributions to improve the Admin Dashboard! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow the existing code style and formatting
- Write clear, descriptive commit messages
- Update documentation if needed
- Test your changes thoroughly
- Ensure ESLint passes without errors
- Use functional components with hooks
- Follow React best practices
- Maintain consistent naming conventions
- Add comments for complex logic
- Keep components focused and reusable
This project is licensed under the MIT License - see the LICENSE file for details.
Nhan Pham Thanh
- GitHub: @NhanPhamThanh-IT
- Email: ptnhanit230104@gmail.com
- Material-UI team for the excellent component library
- Nivo team for the beautiful data visualization components
- React community for the amazing ecosystem
- FullCalendar for the comprehensive calendar solution
If you have any questions or need help with the project:
- Check the FAQ section in the application
- Open an issue on GitHub
- Contact the author directly
β If you found this project helpful, please give it a star on GitHub!