Skip to content

JarvisIndia/devops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Modern Admin Dashboard

A fully functional, responsive web-based admin dashboard built with React, Node.js, Express, and MongoDB. Features include user authentication, role-based access control, real-time data visualization, and comprehensive CRUD operations.

✨ Features

πŸ” Authentication & Security

  • User authentication (login, register, password reset)
  • Role-based access control (admin, manager, user)
  • JWT token-based authentication
  • Input validation & sanitization
  • Rate limiting and brute-force protection

πŸ“Š Dashboard & Analytics

  • Interactive charts (bar, line, pie) using Chart.js
  • Real-time data updates via WebSocket
  • Dynamic dashboard widgets
  • Export functionality (CSV, PDF)
  • Dark mode toggle with persistence

πŸ‘₯ User Management

  • Complete CRUD operations for users
  • Role assignment and management
  • User activity tracking
  • Profile management

πŸ“ Project & Task Management

  • Project creation and assignment
  • Task tracking with deadlines
  • Status management
  • Team collaboration

πŸ“¦ Inventory Management

  • Product catalog with stock tracking
  • Search and filter functionality
  • Stock alerts and notifications
  • Inventory reports

πŸ›  Advanced Features

  • Multi-language support
  • Notifications center
  • System logs and audit trail
  • API key management
  • Customizable dashboard layout
  • Scheduled email reports

πŸ— Project Structure

admin-dashboard/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ context/       # React context providers
β”‚   β”‚   β”œβ”€β”€ services/      # API services
β”‚   β”‚   β”œβ”€β”€ utils/         # Utility functions
β”‚   β”‚   └── styles/        # Global styles
β”œβ”€β”€ server/                 # Node.js backend
β”‚   β”œβ”€β”€ config/            # Configuration files
β”‚   β”œβ”€β”€ controllers/       # Route controllers
β”‚   β”œβ”€β”€ middleware/        # Custom middleware
β”‚   β”œβ”€β”€ models/            # MongoDB models
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   β”œβ”€β”€ services/          # Business logic
β”‚   └── utils/             # Utility functions
β”œβ”€β”€ docker/                # Docker configuration
└── docs/                  # Documentation

πŸš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (v5 or higher)
  • npm or yarn

Installation

  1. Clone the repository
git clone <repository-url>
cd admin-dashboard
  1. Install dependencies
# Install backend dependencies
cd server
npm install

# Install frontend dependencies
cd ../client
npm install
  1. Environment Setup
# Backend environment variables
cd server
cp .env.example .env
# Edit .env with your configuration

# Frontend environment variables
cd ../client
cp .env.example .env
# Edit .env with your configuration
  1. Start the application
# Start backend (from server directory)
npm run dev

# Start frontend (from client directory)
npm start

🐳 Docker Deployment

# Build and run with Docker Compose
docker-compose up --build

🌐 Live Demo

πŸ“š API Documentation

Authentication Endpoints

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • POST /api/auth/logout - User logout
  • POST /api/auth/forgot-password - Password reset request
  • POST /api/auth/reset-password - Password reset

User Management

  • GET /api/users - Get all users
  • POST /api/users - Create new user
  • PUT /api/users/:id - Update user
  • DELETE /api/users/:id - Delete user

Dashboard Data

  • GET /api/dashboard/stats - Get dashboard statistics
  • GET /api/dashboard/charts - Get chart data
  • GET /api/dashboard/notifications - Get notifications

πŸ›‘ Security Features

  • JWT token authentication
  • Password hashing with bcrypt
  • Input validation with Joi
  • Rate limiting with express-rate-limit
  • CORS protection
  • Helmet.js for security headers

🎨 UI/UX Features

  • Responsive design with Material-UI
  • Dark/Light theme toggle
  • Interactive charts with Chart.js
  • Real-time notifications
  • Drag & drop functionality
  • Multi-language support

πŸ“Š Technologies Used

Frontend

  • React 18 - UI library
  • Material-UI (MUI) - Component library
  • Chart.js - Data visualization
  • React Router - Client-side routing
  • Axios - HTTP client
  • Socket.io-client - Real-time communication
  • React Hook Form - Form handling
  • React Query - Data fetching

Backend

  • Node.js - Runtime environment
  • Express.js - Web framework
  • MongoDB - Database
  • Mongoose - ODM
  • JWT - Authentication
  • bcrypt - Password hashing
  • Socket.io - Real-time communication
  • Nodemailer - Email service
  • Multer - File uploads

DevOps

  • Docker - Containerization
  • Docker Compose - Multi-container orchestration
  • PM2 - Process manager

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

For support, email support@admin-dashboard.com or create an issue in the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors