Skip to content

sahusoham2020-ai/clickhub_hactoberfest2025

Β 
Β 

Repository files navigation

πŸŽƒ ClickHub - Button Showcase for Hacktoberfest 2025

πŸŽ‰ We're excited to have contributors like you β€” wishing you a fun and successful Hacktoberfest 2025! πŸ’š

ClickHub Banner

Hacktoberfest 2025 Contributors Welcome Pull Requests

Next.js TypeScript Tailwind CSS License

πŸš€ Ready for Hacktoberfest 2025! Join us in building the ultimate button design showcase! πŸš€

🎯 Start Contributing β€’ 🌟 View Live Demo β€’ πŸ“ Report Issues β€’ πŸš€ Deploy Guide


Welcome to ClickHub - the ultimate showcase of creative button designs from developers around the world! This project is part of Hacktoberfest 2025, where contributors can showcase their button design skills using React/Next.js, vanilla JavaScript, or pure HTML/CSS/JS.

πŸŽƒ Hacktoberfest 2025 Ready!

This repository is officially participating in Hacktoberfest 2025! We're looking for creative developers to contribute amazing button designs and help build the most comprehensive button showcase on GitHub.

Why Contribute to ClickHub?

  • βœ… Beginner Friendly - Perfect for first-time contributors
  • βœ… Multiple Tech Stacks - React, Vanilla JS, or HTML/CSS
  • βœ… Creative Freedom - Design buttons your way
  • βœ… Quality Maintained - Helpful reviews and feedback
  • βœ… Hacktoberfest Approved - Counts towards your 4 PRs!

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm, yarn, or pnpm

Installation

  1. Clone the repository

    git clone https://github.com/MRIEnan/clickhub_hactoberfest2025.git
    cd clickhub_hactoberfest2025
  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 to see the button showcase!

🎯 How to Contribute

We welcome contributions in three different formats:

1. 🟒 React/Next.js Component (Recommended)

Perfect for developers familiar with React and modern JavaScript frameworks.

2. 🟑 HTML + CSS + JavaScript

Great for traditional web developers who prefer vanilla approaches.

3. 🟠 Pure Vanilla JavaScript

For developers who want to showcase advanced JavaScript techniques.

πŸ“ Contribution Structure

Single Button (Simple Structure)

Create a folder in /contributions/ with your GitHub username:

contributions/
└── your-github-username/
    β”œβ”€β”€ index.js          # Required: Button metadata
    β”œβ”€β”€ button.jsx        # Option 1: React component
    β”œβ”€β”€ button.html       # Option 2: HTML template
    β”œβ”€β”€ button.css        # Option 2: CSS styles (if using HTML)
    β”œβ”€β”€ button.js         # Option 2: JavaScript logic (if using HTML)
    └── README.md         # Optional: Description of your button

Multiple Buttons (Advanced Structure) πŸ†•

Want to contribute multiple buttons? Create subfolders for each button:

contributions/
└── your-github-username/
    β”œβ”€β”€ awesome-button/
    β”‚   β”œβ”€β”€ index.js      # Button 1 metadata
    β”‚   └── button.jsx    # Button 1 component
    β”œβ”€β”€ cool-button/
    β”‚   β”œβ”€β”€ index.js      # Button 2 metadata
    β”‚   β”œβ”€β”€ button.html   # Button 2 HTML
    β”‚   β”œβ”€β”€ button.css    # Button 2 styles
    β”‚   └── button.js     # Button 2 logic
    └── epic-button/
        β”œβ”€β”€ index.js      # Button 3 metadata
        └── button.jsx    # Button 3 component

🎯 Both structures are supported! The system automatically detects which structure you're using.

πŸ› οΈ Step-by-Step Contribution Guide

Step 1: Fork and Clone

# Fork this repository on GitHub, then:
git clone https://github.com/MRIEnan/clickhub_hactoberfest2025.git
cd clickhub_hactoberfest2025
npm install

Step 2: Create Your Folder

Single Button:

mkdir contributions/your-github-username
cd contributions/your-github-username

Multiple Buttons (Advanced):

mkdir -p contributions/your-github-username/your-button-name
cd contributions/your-github-username/your-button-name

πŸ’‘ Pro Tip: You can create as many buttons as you want by creating separate folders for each one!

Step 3: Create the Required index.js

This file is mandatory for all contributions:

// contributions/your-github-username/index.js
const buttonMetadata = {
  name: "Your Button Name",
  author: "your-github-username",
  description: "A brief description of your button",
  type: "react", // "react", "html", or "vanilla"
  tags: ["tag1", "tag2", "tag3"], // Optional: relevant tags
  difficulty: "beginner", // "beginner", "intermediate", or "advanced"
  preview: "Brief preview text"
};

export default buttonMetadata;

Step 4: Choose Your Implementation

Option A: React/Next.js Component 🟒

Create button.jsx:

// contributions/your-github-username/button.jsx
'use client';

import { useState } from 'react';

export default function YourButtonName() {
  const [isClicked, setIsClicked] = useState(false);

  return (
    <button
      onClick={() => setIsClicked(!isClicked)}
      className="px-6 py-3 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"
    >
      {isClicked ? 'Clicked!' : 'Click Me!'}
    </button>
  );
}

Option B: HTML + CSS + JavaScript 🟑

Create three files:

button.html:

<button class="my-button" onclick="handleClick()">
  <span>Click Me!</span>
</button>

button.css:

.my-button {
  padding: 12px 24px;
  background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
  border: none;
  border-radius: 8px;
  color: white;
  font-weight: bold;
  cursor: pointer;
  transition: transform 0.2s;
}

.my-button:hover {
  transform: scale(1.05);
}

button.js:

function handleClick() {
  console.log('Button clicked!');
  // Add your custom logic here
}

Step 5: Test Your Button

# From the project root
npm run dev

Visit http://localhost:3000 to see your button in the showcase!

Step 6: Submit Your Contribution

git add .
git commit -m "Add [your-button-name] by [your-username]"
git push origin main

Then create a Pull Request on GitHub!

🎨 Design Guidelines

βœ… What Makes a Great Button

  • Accessible: Proper contrast ratios and keyboard navigation
  • Responsive: Works on all screen sizes
  • Interactive: Clear hover, focus, and active states
  • Creative: Unique design or animation
  • Well-documented: Clear code comments and optional README

🚫 What to Avoid

  • Offensive or inappropriate content
  • Copyrighted materials without permission
  • Buttons that break accessibility standards
  • Extremely large files or dependencies
  • Malicious code or external API calls

🏷️ Suggested Tags

Use relevant tags in your index.js:

  • Animations: animation, transition, keyframes
  • Styles: gradient, neon, glassmorphism, neumorphism
  • Effects: hover, glow, ripple, shadow
  • Themes: dark, light, retro, modern, minimal
  • Difficulty: beginner, intermediate, advanced

πŸ† Examples

Check out these example contributions in the /contributions/ folder:

πŸ’‘ Multiple Button Example: See how MRIEnan has created multiple buttons using the advanced folder structure!

πŸ§ͺ Development Scripts

# Development server
npm run dev

# Build for production
npm run build

# Start production server
npm start

# Lint code
npm run lint

🀝 Community Guidelines

  1. Be Respectful: Treat all contributors with kindness and respect
  2. Be Original: Create your own designs, don't copy existing work
  3. Be Helpful: Review others' PRs and provide constructive feedback
  4. Have Fun: This is about learning and celebrating creativity!

πŸ“š Resources

πŸ› Issues and Support

Found a bug or need help? Please:

  1. Check existing issues
  2. Create a new issue with detailed information
  3. Join our community discussions

πŸ“„ License

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

πŸ™ Acknowledgments

  • Thanks to all Hacktoberfest 2025 participants!
  • Built with Next.js and Tailwind CSS
  • Inspired by the amazing developer community

πŸš€ Deployment

This project is production-ready and optimized for Vercel deployment!

Quick Deploy to Vercel

Deploy with Vercel

Manual Deployment Steps

  1. Push to GitHub (if not already done)
  2. Visit Vercel Dashboard
  3. Click "New Project"
  4. Import your repository
  5. Deploy (all settings are pre-configured!)

Production Build Test

Before deploying, test your build locally:

npm run build
npm start

Features Included

  • βœ… Optimized Images - GitHub avatars load efficiently
  • βœ… Static Generation - Fast loading times
  • βœ… Security Headers - Production-ready security
  • βœ… Performance Optimized - Lighthouse score friendly
  • βœ… Mobile Responsive - Works on all devices
  • βœ… Error Handling - Graceful fallbacks

For detailed deployment instructions, see DEPLOYMENT.md.


Happy Hacking! πŸŽƒ Let's make some amazing buttons together!

About

Beginner-friendly repo for Hacktoberfest contributions (2025)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.9%
  • TypeScript 45.2%
  • CSS 6.3%
  • HTML 1.4%
  • Python 0.2%