- Overview
- Features
- Installation
- Usage
- Customization
- Theme System
- Components
- API Integration
- Deployment
- Contributing
- License
Admin3 is a modern, responsive admin dashboard template developed by LeonXlab. Designed for developers and businesses, it provides a clean, professional interface for building admin panels, CMS systems, and back-office applications.
Key Benefits:
- 🚀 Production-ready template
- 🎨 Customizable design system
- 🌓 Built-in dark/light mode
- 📱 Fully responsive layout
- ⚡ Optimized performance
-
Modern UI/UX Design
- Clean, minimalist interface
- Responsive layout (desktop, tablet, mobile)
- Accessibility compliant (WCAG 2.1)
-
Theme System
- Light/dark mode toggle
- System preference detection
- Persistent theme settings
-
Pre-built Pages
- Dashboard
- User management
- Analytics
- Settings
- Login/Register
-
Frontend Architecture
- Modular component structure
- CSS variables for theming
- Vanilla JavaScript (no framework dependency)
- Chart.js integration
-
Performance
- Optimized asset loading
- Minimal dependencies
- Efficient DOM operations
-
Scouts Section
- Display scouts in a grid layout with rectangular cards.
- Each scout card contains details about the scout.
-
User Profile Page
- Separate page for user profile with detailed information.
- Includes profile picture, contact information, and action buttons.
- Node.js (v14+ recommended)
- npm/yarn
- Modern browser (Chrome, Firefox, Edge, Safari)
-
Clone the repository
git clone https://github.com/leonxlab/admin3-dashboard.git cd admin3-dashboard -
Install dependencies
npm install # or yarn install -
Development server
npm run dev # or yarn dev -
Production build
npm run build # or yarn build
admin3-dashboard/
├── assets/ # Static assets
├── css/ # Stylesheets
├── js/ # JavaScript modules
├── pages/ # Application pages
├── index.html # Main entry point
└── README.md # Documentation
- After installation, open
index.htmlin your browser - Default login credentials (for demo):
Email: admin@example.com Password: admin123
- Sidebar: Main navigation menu
- Topbar: Quick actions and user menu
- Breadcrumbs: Contextual navigation
Modify CSS variables in css/theme.css:
:root {
--primary-color: #3498db;
--secondary-color: #2ecc71;
--danger-color: #e74c3c;
/* ... */
}Edit js/config.js:
const config = {
sidebar: {
collapsedWidth: '70px',
expandedWidth: '250px'
},
theme: {
default: 'system' // 'light' | 'dark' | 'system'
}
};- Checks for saved user preference in localStorage
- Falls back to system preference
- Defaults to light theme
// Get current theme
const currentTheme = document.documentElement.getAttribute('data-theme');
// Toggle theme
document.getElementById('themeToggle').click();
// Listen for theme changes
document.addEventListener('themeChanged', (e) => {
console.log('Theme changed to:', e.detail.theme);
});-
Cards
- Stat cards
- Profile cards
- Graph cards
-
Charts
- Line charts
- Bar charts
- Pie charts
-
Forms
- Input fields
- Select dropdowns
- Checkboxes/radios
-
Tables
- Sortable columns
- Pagination
- Row selection
Example card implementation:
<div class="stat-card">
<div class="stat-header">
<span class="stat-title">Total Users</span>
<div class="stat-icon">
<i class="fas fa-users"></i>
</div>
</div>
<div class="stat-value">1,024</div>
<div class="stat-trend trend-up">
<i class="fas fa-arrow-up"></i>
<span>12.5% increase</span>
</div>
</div>Example login implementation:
async function login(email, password) {
const response = await fetch('/api/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ email, password })
});
if (!response.ok) throw new Error('Login failed');
return response.json();
}Example dashboard data:
async function loadDashboardData() {
const [users, sales, activities] = await Promise.all([
fetch('/api/users'),
fetch('/api/sales'),
fetch('/api/activities')
]);
return {
users: await users.json(),
sales: await sales.json(),
activities: await activities.json()
};
}-
Build the project:
npm run build
-
Deploy the
dist/folder to:- Netlify
- Vercel
- AWS S3
- GitHub Pages
-
Build the Docker image:
docker build -t admin3-dashboard . -
Run the container:
docker run -p 8080:80 admin3-dashboard
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
- Follow existing code style
- Write meaningful commit messages
- Include documentation for new features
- Test your changes thoroughly