GitHub - OgeeTech/Ecommerce-Admin · GitHub
Skip to content

OgeeTech/Ecommerce-Admin

Folders and files

Repository files navigation

Admin Dashboard

A comprehensive, modern admin dashboard built with React.js featuring user management, product management, analytics, and real-time data visualization.

🚀 Features

Core Functionality

  • User Authentication - Secure login/logout system with protected routes
  • User Management - Complete CRUD operations for user accounts
  • Product Management - Inventory management with stock tracking
  • Analytics Dashboard - Real-time metrics and performance indicators
  • Data Visualization - Interactive charts and graphs
  • Responsive Design - Mobile-first approach with cross-device compatibility
  • Dark/Light Mode - Theme switching capability
  • Notifications System - Real-time alerts and updates

Dashboard Components

  • Widgets - Key performance indicators (KPIs) display
  • Charts - Revenue trends, user analytics, and business metrics
  • Data Tables - Sortable, filterable data grids with pagination
  • Quick Actions - Fast access to common administrative tasks
  • Profile Management - User profile with dropdown menu
  • Search Functionality - Global search across the application

🛠️ Technology Stack

Frontend Framework

  • React.js (v18.2.0) - Component-based UI library
  • React Router DOM (v6.21.1) - Client-side routing
  • React Scripts (v5.0.1) - Build tools and development server

State Management

  • React Context API - Global state management
  • React Hooks - State and lifecycle management
  • Redux Toolkit (v2.0.1) - Advanced state management (configured)

UI Components & Styling

  • Material-UI (MUI) (v5.15.2) - React component library
    • @mui/material - Core components
    • @mui/icons-material - Icon library
    • @mui/x-data-grid - Advanced data grid component
  • Styled Components (v6.1.6) - CSS-in-JS styling
  • Emotion (v11.11.3) - CSS-in-JS library
  • SASS (v1.69.6) - CSS preprocessor

Data Visualization

  • Recharts (v3.0.2) - React charting library
  • React Circular Progressbar (v2.2.0) - Circular progress indicators

HTTP Client & API

  • Axios (v1.6.5) - HTTP client for API requests
  • React Query (TanStack) (v5.17.9) - Server state management

Form Handling & Validation

  • Yup (v1.3.3) - Schema validation library

Testing

  • Testing Library - React component testing
    • @testing-library/react (v13.4.0)
    • @testing-library/jest-dom (v5.17.0)
    • @testing-library/user-event (v13.5.0)

Performance & Monitoring

  • Web Vitals (v2.1.4) - Performance metrics

📁 Project Structure

src/
├── components/           # Reusable UI components
│   ├── analytics/       # Analytics dashboard components
│   ├── chart/          # Chart visualization components
│   ├── datatable/      # Data grid components
│   ├── featured/       # Featured metrics components
│   ├── navbar/         # Navigation bar
│   ├── ProtectedRoute/ # Route protection wrapper
│   ├── quickActions/   # Quick action buttons
│   ├── sidebar/        # Side navigation
│   ├── table/          # Table components
│   └── widgets/        # Dashboard widgets
├── Pages/              # Page components
│   ├── home/          # Dashboard home page
│   ├── list/          # List view pages
│   ├── login/         # Authentication page
│   ├── new/           # Create new item pages
│   └── single/        # Detail view pages
├── context/           # React Context providers
│   ├── authContext.js    # Authentication context
│   ├── darkModeContext.js # Theme context
│   └── darkModeReducer.js # Theme reducer
├── Service/           # API service layers
├── Store/             # Redux store configuration
├── style/             # Global styles
└── utils/             # Utility functions

🎨 Design Features

Color Scheme

  • Primary: #7451f8 (Purple)
  • Secondary: Various accent colors for different metrics
  • Neutral: Grayscale palette for text and backgrounds
  • Status Colors: Green (success), Red (error), Yellow (warning)

Typography

  • Font Family: Nunito Sans
  • Responsive Typography: Scales across different screen sizes
  • Font Weights: 300, 400, 500, 600, 700

Layout

  • Flexbox: Modern CSS layout system
  • CSS Grid: For complex dashboard layouts
  • Responsive Breakpoints: Mobile, tablet, and desktop optimized
  • Box Shadows: Subtle depth and elevation
  • Border Radius: Consistent rounded corners (8px-15px)

🔐 Authentication System

Login Credentials (Demo)

Security Features

  • Protected routes with authentication checks
  • Automatic redirect for unauthenticated users
  • Session persistence with localStorage
  • Secure logout functionality

📊 Dashboard Analytics

Key Metrics

  • Active Users: Real-time user count with trend indicators
  • Total Orders: Order volume tracking
  • Revenue: Financial performance metrics
  • Product Inventory: Stock levels and management

Visualizations

  • Area Charts: Revenue trends over time
  • Circular Progress: Goal completion tracking
  • Bar Charts: Comparative analytics
  • Status Indicators: Real-time system status

🚀 Getting Started

Prerequisites

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

Installation

  1. Clone the repository

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

    npm install
  3. Start the development server

    npm start
  4. Open your browser Navigate to http://localhost:3000

Build for Production

npm run build

This creates an optimized production build in the build folder.

🧪 Testing

Run the test suite:

npm test

Run tests with coverage:

npm test -- --coverage

📱 Responsive Design

Breakpoints

  • Mobile: < 768px
  • Tablet: 768px - 1024px
  • Desktop: > 1024px

Features

  • Collapsible sidebar on mobile
  • Responsive grid layouts
  • Touch-friendly interface elements
  • Optimized typography scaling

🎯 Performance Optimizations

  • Code Splitting: Lazy loading of route components
  • Memoization: React.memo for expensive components
  • Optimized Images: Compressed and properly sized assets
  • Bundle Analysis: Webpack bundle optimization
  • Caching: Efficient browser caching strategies

🔧 Configuration

Environment Variables

Create a .env file in the root directory:

REACT_APP_API_URL=your_api_url_here
REACT_APP_VERSION=1.0.0

Theme Customization

Modify theme settings in:

  • src/context/darkModeContext.js
  • src/style/dark.css

📈 Future Enhancements

Planned Features

  • Real-time notifications
  • Advanced filtering and search
  • Export functionality (PDF, Excel)
  • Multi-language support
  • Advanced user roles and permissions
  • Integration with external APIs
  • Mobile app version

Technical Improvements

  • Server-side rendering (SSR)
  • Progressive Web App (PWA) features
  • Advanced caching strategies
  • Performance monitoring
  • Automated testing pipeline

🤝 Contributing

  1. Fork the repository
  2. Create a 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 - see the LICENSE file for details.

👥 Team

  • Frontend Development: React.js, Material-UI
  • Backend Integration: RESTful API integration
  • UI/UX Design: Modern dashboard interface
  • Testing: Comprehensive test coverage

📞 Support

For support and questions:

  • Create an issue in the repository
  • Contact the development team
  • Check the documentation

🔄 Version History

v1.0.0 (Current)

  • Initial release
  • Complete dashboard functionality
  • User and product management
  • Analytics and reporting
  • Authentication system
  • Responsive design

Built with ❤️ using React.js and modern web technologies

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors