π We're excited to have contributors like you β wishing you a fun and successful Hacktoberfest 2025! π
π 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.
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.
- β 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!
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone https://github.com/MRIEnan/clickhub_hactoberfest2025.git cd clickhub_hactoberfest2025 -
Install dependencies
npm install # or yarn install # or pnpm install
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser
Navigate to http://localhost:3000 to see the button showcase!
We welcome contributions in three different formats:
Perfect for developers familiar with React and modern JavaScript frameworks.
Great for traditional web developers who prefer vanilla approaches.
For developers who want to showcase advanced JavaScript techniques.
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 buttonWant 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.
# Fork this repository on GitHub, then:
git clone https://github.com/MRIEnan/clickhub_hactoberfest2025.git
cd clickhub_hactoberfest2025
npm installSingle Button:
mkdir contributions/your-github-username
cd contributions/your-github-usernameMultiple 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!
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;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>
);
}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
}# From the project root
npm run devVisit http://localhost:3000 to see your button in the showcase!
git add .
git commit -m "Add [your-button-name] by [your-username]"
git push origin mainThen create a Pull Request on GitHub!
- 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
- Offensive or inappropriate content
- Copyrighted materials without permission
- Buttons that break accessibility standards
- Extremely large files or dependencies
- Malicious code or external API calls
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
Check out these example contributions in the /contributions/ folder:
example-react-user/gradient-glow-button- React component with gradient glowexample-html-user/neon-pulse-button- HTML/CSS neon pulse buttonexample-vanilla-user/flip-3d-button- Advanced 3D flip buttonMRIEnan/moon-sun-toggle- React moon/sun toggle buttonMRIEnan/gradient-pulse- Colorful gradient pulse buttonMRIEnan/neon-glow- Cyberpunk neon glow button
π‘ Multiple Button Example: See how MRIEnan has created multiple buttons using the advanced folder structure!
# Development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lint- Be Respectful: Treat all contributors with kindness and respect
- Be Original: Create your own designs, don't copy existing work
- Be Helpful: Review others' PRs and provide constructive feedback
- Have Fun: This is about learning and celebrating creativity!
- Next.js Documentation
- Tailwind CSS Documentation
- CSS Animations Guide
- React Hooks Reference
- Web Accessibility Guidelines
Found a bug or need help? Please:
- Check existing issues
- Create a new issue with detailed information
- Join our community discussions
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all Hacktoberfest 2025 participants!
- Built with Next.js and Tailwind CSS
- Inspired by the amazing developer community
This project is production-ready and optimized for Vercel deployment!
- Push to GitHub (if not already done)
- Visit Vercel Dashboard
- Click "New Project"
- Import your repository
- Deploy (all settings are pre-configured!)
Before deploying, test your build locally:
npm run build
npm start- β 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!