- About
- Features
- Demo
- Technologies
- Installation
- Usage
- Scripts
- Project Structure
- Contributing
- License
- Author
DashPalette is a powerful web application that helps designers and developers create beautiful, cohesive color schemes for dashboard interfaces. With an intuitive interface and real-time preview, you can experiment with different color combinations and instantly see how they look in a fully-featured dashboard mockup.
The tool allows you to customize primary, sidebar, and surface colors, preview them in both light and dark modes, and export the palette in multiple formats including CSS, SCSS, and Tailwind CSS configuration.
- 🎨 Real-time Color Customization - Adjust primary, sidebar, and surface colors with instant visual feedback
- 🌓 Dark/Light Mode Toggle - Preview your palette in both themes
- 📊 Live Dashboard Preview - See your colors applied to a realistic dashboard with charts, cards, and UI components
- 🎲 Random Palette Generator - Get instant inspiration with randomly generated color schemes
- 📋 Multiple Export Formats:
- CSS Variables
- SCSS Variables
- Tailwind CSS Configuration
- 🔗 Shareable URLs - Share your color palettes with others via URL
- 📱 Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- ✅ Color Validation - Ensures valid hex color codes in real-time
Live Demo (Add deployment URL here)
This project is built with modern web technologies:
- Vite - Next generation frontend tooling
- Alpine.js - Lightweight JavaScript framework
- Tailwind CSS - Utility-first CSS framework
- Chart.js - JavaScript charting library
- Prism.js - Syntax highlighting
- Colord - Color manipulation library
- ESLint - Code linting with Neostandard
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm (v7 or higher)
-
Clone the repository
git clone https://github.com/OriC28/DashPalette.git
-
Navigate to the project directory
cd DashPalette -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Visit
http://localhost:5173(or the port shown in your terminal)
-
Choose your colors using the color pickers or by entering hex values directly:
- Primary Color - Main accent color for buttons, links, and highlights
- Sidebar Color - Background color for the navigation sidebar
- Surface Color - Background color for cards and content areas
-
Preview in real-time - The dashboard mockup updates instantly as you adjust colors
-
Toggle dark mode - Use the theme switch to see how your palette looks in dark mode
-
Generate random palettes - Click "Random palette" for instant inspiration
- Click the "Export theme" button
- Choose your preferred format:
- CSS - CSS custom properties (variables)
- SCSS - SCSS variables
- Tailwind Config - Tailwind CSS configuration object
- Click "Copy to clipboard" to copy the code
Click the "Share theme" button to copy a shareable URL with your current color scheme encoded in the parameters.
The following scripts are available in package.json:
| Command | Description |
|---|---|
npm run dev |
Start the development server with hot reload |
npm run build |
Build the project for production |
npm run preview |
Preview the production build locally |
npm run lint |
Run ESLint to check for code issues |
DashPalette/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images, fonts, and other assets
│ ├── components/ # Alpine.js components
│ │ ├── Clipboard.js
│ │ ├── Dashboard.js
│ │ ├── darkModeToggle.js
│ │ └── ExportModal.js
│ ├── config/ # Configuration files
│ │ └── charts.js
│ ├── data/ # Static data and content
│ │ └── data.js
│ ├── icons/ # SVG icon collections
│ ├── services/ # External services integration
│ ├── utils/ # Utility functions
│ │ ├── charts.js
│ │ ├── generators.js
│ │ ├── textHelpers.js
│ │ ├── theme.js
│ │ ├── url.js
│ │ └── validators.js
│ ├── main.js # Application entry point
│ └── style.css # Global styles
├── index.html # Main HTML file
├── package.json # Project dependencies and scripts
├── vite.config.js # Vite configuration
├── tailwind.config.js # Tailwind CSS configuration
├── eslint.config.js # ESLint configuration
└── README.md # This file
Contributions are welcome! Here's how you can help:
If you find a bug or have a feature request:
- Check if the issue already exists in the Issues section
- If not, create a new issue with a clear description and steps to reproduce (for bugs)
-
Fork the repository
git clone https://github.com/YOUR_USERNAME/DashPalette.git
-
Create a new branch
git checkout -b feature/your-feature-name
-
Make your changes and ensure they follow the project's coding standards
-
Run linting
npm run lint
-
Test your changes
npm run dev
-
Commit your changes
git commit -m "Add: description of your changes" -
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request on the main repository
- Follow the existing code style
- Use meaningful variable and function names
- Comment complex logic
- Keep functions small and focused
- Run
npm run lintbefore committing
This project is licensed under the MIT License - see the LICENSE file for details.
OriC28
- GitHub: @OriC28
If you find this project useful, please consider giving it a ⭐️!
Made with ❤️ by OriC28