Skip to content

A modern web application that generates custom color palettes with beautiful animations and interactive UI, built with Next.js.

License

Notifications You must be signed in to change notification settings

reddevil212/colorsforyou

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MasterHead

Colors For You 🎨

A modern, feature-rich web application for creating, exploring, and managing color palettes. Built with Next.js 15 and featuring smooth animations, multiple color tools, and an extensive palette gallery.

Live Demo Next.js React Tailwind CSS

✨ Features

🎨 Palette Creator

  • Manual Creation: Hand-pick individual colors with an intuitive color picker
  • Color Harmony Generator: Create harmonious palettes using color theory
    • Complementary
    • Analogous
    • Triadic
    • Monochromatic
    • Split-complementary
  • Gradient Generator: Create smooth color gradients between two colors
  • Lock Colors: Lock specific colors while regenerating others
  • Export Options: Export palettes as JSON or CSS variables
  • Save & Load: Save palettes to local storage and reload them later

πŸ–ΌοΈ Image Palette Extractor

  • Smart Color Extraction: Upload images and extract dominant colors
  • Multiple Extraction Modes:
    • Balanced: Representative colors from the entire image
    • Vibrant: High saturation, bold colors
    • Muted/Pastel: Soft, low saturation colors
  • Flexible Output: Extract 3-8 colors from any image
  • Instant Preview: See extracted palettes in real-time
  • Export & Edit: Export extracted palettes or send them to the Creator

πŸ“š Palette Gallery

  • Browse 100+ pre-made color palettes
  • Organized by categories:
    • Warm, Cool, Earth tones
    • Pastel, Bold, Vibrant
    • Dark, Neutral, Vintage
    • Tech, Urban, Tropical
    • And more...
  • Search and filter by tags
  • One-click copy for all colors
  • Mark favorites for quick access

πŸŒ— Theme Support

  • Dark/Light Mode: Toggle between themes
  • Persistent Preference: Theme choice saved across sessions
  • Dynamic UI: All components adapt to current theme
  • Smooth Transitions: Animated theme switching

🎭 Interactive UI

  • Smooth Animations: Powered by Framer Motion
  • Responsive Design: Works seamlessly on desktop, tablet, and mobile
  • Dynamic Borders: Adaptive dotted borders that respond to theme changes
  • Intuitive Navigation: Clean header with easy-to-access tools

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or later recommended)
  • npm

Installation

  1. Clone the repository

    git clone https://github.com/reddevil212/colorsforyou.git
    cd colorsforyou
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  4. Open your browser Navigate to http://localhost:3000

Build for Production

npm run build
npm run start

πŸ› οΈ Tech Stack

Technology Version Purpose
Next.js 15.3.3 React framework with App Router & Static Export
React 19.0.0 UI library
Tailwind CSS 4.0 Utility-first CSS framework
Framer Motion 12.15.0 Animation library
Firebase 11.8.1 Hosting and deployment

πŸ“ Project Structure

colorsforyou/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js app directory
β”‚   β”‚   β”œβ”€β”€ page.js            # Home page
β”‚   β”‚   β”œβ”€β”€ layout.js          # Root layout with theme provider
β”‚   β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”‚   β”œβ”€β”€ about/             # About page
β”‚   β”‚   β”œβ”€β”€ colors/            # Color tools page
β”‚   β”‚   β”œβ”€β”€ contacts/          # Contact page
β”‚   β”‚   β”œβ”€β”€ creator/           # Palette creator tool
β”‚   β”‚   β”œβ”€β”€ home/              # Home page component
β”‚   β”‚   β”œβ”€β”€ image-palette/     # Image color extractor
β”‚   β”‚   β”œβ”€β”€ palette/           # Palette gallery
β”‚   β”‚   └── more/              # Additional tools
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ footer/            # Footer component
β”‚   β”‚   β”œβ”€β”€ header/            # Navigation header
β”‚   β”‚   β”œβ”€β”€ loader/            # Loading component
β”‚   β”‚   └── theme/             # Theme provider & context
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── LoadingContext.js  # Loading state management
β”‚   └── data/
β”‚       └── palettes.json      # Pre-made palette collection (100+ palettes)
β”‚            
β”œβ”€β”€ next.config.mjs            # Next.js configuration
β”œβ”€β”€ tailwind.config.js         # Tailwind CSS configuration
β”œβ”€β”€ postcss.config.mjs         # PostCSS configuration
└── package.json               # Dependencies and scripts

🎯 Key Pages & Routes

  • / - Home page with featured tools
  • /creator - Interactive palette creation tool
  • /palette - Browse 100+ pre-made palettes
  • /image-palette - Extract colors from images
  • /colors - Color tools and utilities
  • /about - About the application
  • /contacts - Contact information

πŸ”§ Configuration

Next.js Configuration

The app uses static export for optimal performance:

  • output: 'export' - Generates static HTML
  • trailingSlash: true - Ensures proper routing
  • images.unoptimized: true - Required for static export

Firebase Deployment

Deploy to Firebase Hosting:

npm run deploy

This runs:

  1. next build - Builds the static export
  2. firebase deploy --only hosting:colorsforyou - Deploys to Firebase

πŸ’Ύ Local Storage

The application uses browser local storage for:

  • Saved Palettes: Store custom and extracted palettes
  • Theme Preference: Remember user's dark/light mode choice
  • Favorite Palettes: Mark and save favorite color combinations

🎨 Color Features

Palette Creator Features

  • 5-color palette editor
  • Real-time color preview
  • Lock/unlock individual colors
  • Multiple creation modes (Manual, Harmony, Gradient)
  • Copy individual colors or entire palette
  • Export as JSON or CSS custom properties
  • Save unlimited palettes to local storage

Image Extractor Features

  • Drag & drop or file upload
  • Support for PNG, JPG, GIF (up to 5MB)
  • 3-8 color extraction
  • Three extraction algorithms:
    • Balanced (representative sampling)
    • Vibrant (high saturation focus)
    • Muted (low saturation, pastel)
  • Canvas-based color quantization
  • HSL color space analysis

🀝 Contributing

Contributions are welcome! Here's how you can help:

  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

Development Guidelines

  • Follow the existing code style
  • Test on multiple browsers and devices
  • Ensure accessibility standards are met
  • Update documentation as needed

πŸ“ Scripts

Command Description
npm run dev Start development server with Turbopack
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npm run export Export static site
npm run deploy Build and deploy to Firebase

🌐 Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)
  • Mobile browsers (iOS Safari, Chrome Mobile)

πŸ“„ License

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

πŸ‘¨β€πŸ’» Author

Created with ❀️ by reddevil212

πŸ”— Links

πŸ™ Acknowledgments

  • Color theory and harmony algorithms
  • Next.js team for the amazing framework
  • Tailwind CSS for the utility-first approach
  • Framer Motion for smooth animations
  • The open-source community

Made for designers, developers, and color enthusiasts 🎨✨

About

A modern web application that generates custom color palettes with beautiful animations and interactive UI, built with Next.js.

Topics

Resources

License

Stars

Watchers

Forks