Skip to content

dikshajha25/geekroom-kiet

Β 
Β 

Repository files navigation

πŸš€ Geek Room KIET

Geek Room KIET Logo

πŸ“‘ Table of Contents

πŸ“– About

Geek Room KIET is the official website for the Geek Room chapter at KIET (Krishna Institute of Engineering and Technology). We're a passionate community of students dedicated to fostering a dynamic tech culture through interdisciplinary learning, hands-on workshops, coding sessions, and collaborative projects.

🎯 Our Mission

  • Empower students to sharpen their technical expertise
  • Explore cutting-edge technologies and build innovative projects
  • Foster collaboration through workshops, competitions, and team projects
  • Create a supportive space for students to connect, learn, and make a lasting impact

πŸ“š Documentation


✨ Features

🏠 Homepage

  • Splash Screen: Eye-catching animated introduction
  • Why Join Us: Compelling reasons to join our community
  • Statistics: Live member count and event statistics
  • Gallery Carousel: Showcase of past events and activities
  • Team Structure: Interactive team cards with smooth animations
  • Contact Form: Easy way to get in touch with us

🎨 Design & UX

  • Modern UI: Clean, professional design with dark theme
  • Responsive: Optimized for all devices (mobile, tablet, desktop)
  • Smooth Animations: CSS-based animations for better performance
  • Accessibility: Built with accessibility best practices
  • Fast Loading: Optimized for speed and performance

πŸ›  Technical Features

  • Next.js 15: Latest React framework with App Router
  • TypeScript: Type-safe development
  • Tailwind CSS: Utility-first CSS framework
  • GSAP Animations: Smooth, performant animations
  • Form Handling: React Hook Form with validation
  • Image Optimization: Next.js Image component for optimal loading

πŸš€ Quick Start

Prerequisites

  • Node.js 18.0 or later
  • Bun (recommended) or npm/yarn/pnpm

Installation

  1. Clone the repository

    git clone https://github.com/your-username/geekroom-kiet.git
    cd geekroom-kiet
  2. Install dependencies

    # Using Bun (recommended)
    bun install
    
    # Or using npm
    npm install
    
    # Or using yarn
    yarn install
  3. Start the development server

    # Using Bun
    bun run dev
    
    # Or using npm
    npm run dev
    
    # Or using yarn
    yarn dev
  4. Open your browser Navigate to http://localhost:3000 to see the website.

Next Steps


πŸ“ Project Structure

geekroom-kiet/
β”œβ”€β”€ public/                          # Static assets
β”‚   β”œβ”€β”€ images/                      # Image assets organized by category
β”‚   β”‚   β”œβ”€β”€ team/                    # Team member photos
β”‚   β”‚   β”œβ”€β”€ events/                  # Event photos
β”‚   β”‚   β”œβ”€β”€ gallery/                 # Gallery images
β”‚   β”‚   └── logos/                   # Logo variations
β”‚   β”œβ”€β”€ icons/                       # Icon files
β”‚   β”œβ”€β”€ favicon.ico                  # Favicon
β”‚   └── og-image.png                # Open Graph image
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                        # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ api/                    # API routes
β”‚   β”‚   β”œβ”€β”€ globals.css             # Global styles
β”‚   β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx                # Homepage
β”‚   β”‚   β”œβ”€β”€ blogs/                  # Blog pages
β”‚   β”‚   β”œβ”€β”€ events/                 # Events pages
β”‚   β”‚   β”œβ”€β”€ gallery/                # Gallery pages
β”‚   β”‚   β”œβ”€β”€ join-us/                # Join us page
β”‚   β”‚   β”œβ”€β”€ projects/               # Projects pages
β”‚   β”‚   └── team/                   # Team pages
β”‚   β”œβ”€β”€ components/                 # React components
β”‚   β”‚   β”œβ”€β”€ ui/                     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ layout/                 # Layout components
β”‚   β”‚   β”œβ”€β”€ features/               # Feature-based components
β”‚   β”‚   β”‚   β”œβ”€β”€ contact/            # Contact feature
β”‚   β”‚   β”‚   β”œβ”€β”€ events/             # Events feature
β”‚   β”‚   β”‚   β”œβ”€β”€ projects/           # Projects feature
β”‚   β”‚   β”‚   β”œβ”€β”€ team/               # Team feature
β”‚   β”‚   β”‚   β”œβ”€β”€ gallery/            # Gallery feature
β”‚   β”‚   β”‚   └── blogs/              # Blogs feature
β”‚   β”‚   β”œβ”€β”€ common/                 # Common components
β”‚   β”‚   └── providers/              # Context providers
β”‚   β”œβ”€β”€ hooks/                      # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ useLocalStorage.ts
β”‚   β”‚   β”œβ”€β”€ useIntersectionObserver.ts
β”‚   β”‚   β”œβ”€β”€ useDebounce.ts
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ types/                      # TypeScript definitions
β”‚   β”‚   β”œβ”€β”€ index.ts                # Main types
β”‚   β”‚   β”œβ”€β”€ api.ts                  # API types
β”‚   β”‚   └── components.ts           # Component types
β”‚   β”œβ”€β”€ utils/                      # Utility functions
β”‚   β”‚   β”œβ”€β”€ api.ts                  # API client
β”‚   β”‚   β”œβ”€β”€ validation.ts           # Form validation
β”‚   β”‚   β”œβ”€β”€ format.ts               # Data formatting
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ constants/                  # Application constants
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ lib/                        # Library code
β”‚   β”‚   └── utils.ts
β”‚   └── data/                       # Static data
β”œβ”€β”€ docs/                          # Documentation
β”œβ”€β”€ tests/                         # Test files
β”œβ”€β”€ scripts/                       # Build scripts
β”œβ”€β”€ .github/                       # GitHub workflows
β”œβ”€β”€ CONTRIBUTING.md                # Contribution guidelines
β”œβ”€β”€ FOLDER_STRUCTURE.md            # Detailed folder structure
β”œβ”€β”€ package.json                   # Dependencies and scripts
β”œβ”€β”€ tailwind.config.ts             # Tailwind configuration
β”œβ”€β”€ tsconfig.json                  # TypeScript configuration
└── next.config.js                 # Next.js configuration

πŸ“‹ Detailed Structure: See FOLDER_STRUCTURE.md for a comprehensive breakdown of the ideal GSoC-level project organization.


🎨 Tech Stack

Frontend

  • Framework: Next.js 15.2.0 with App Router
  • Language: TypeScript 5.0
  • Styling: Tailwind CSS 3.4.1
  • UI Components: Radix UI primitives
  • Icons: Lucide React
  • Animations: GSAP 3.12.7
  • Forms: React Hook Form with Zod validation

Development Tools

  • Package Manager: Bun (with npm/yarn support)
  • Linting: Biome (ESLint alternative)
  • Type Checking: TypeScript
  • Code Formatting: Biome formatter

Deployment

  • Platform: Vercel (recommended)
  • Static Export: Supported for other platforms

🀝 Contributing

We welcome contributions from the community! Please follow these steps to get started:

πŸ“‹ Before you start: Make sure to read our Contributing Guide for detailed guidelines and best practices.

Step 1: Fork the Repository

  1. Go to the Geek Room KIET repository
  2. Click the "Fork" button in the top-right corner
  3. This creates a copy of the project in your GitHub account

Step 2: Clone Your Fork

# Replace YOUR-USERNAME with your GitHub username
git clone https://github.com/YOUR-USERNAME/geekroom-kiet.git
cd geekroom-kiet

Step 3: Set Up Upstream Remote

# Add the original repository as upstream
git remote add upstream https://github.com/your-username/geekroom-kiet.git

# Verify your remotes
git remote -v

Step 4: Create a Feature Branch

# Create and switch to a new branch
git checkout -b feat/your-feature-name

# Examples:
# git checkout -b feat/add-new-component
# git checkout -b fix/navbar-bug
# git checkout -b docs/update-readme

Step 5: Make Your Changes

  • Make your changes locally
  • Test your changes thoroughly
  • Follow the existing code style
  • Write clear commit messages

Step 6: Commit Your Changes

# Stage your changes
git add .

# Commit with a descriptive message
git commit -m "feat: Add new component for better UX"

# Examples of good commit messages:
# "feat: Add dark mode toggle"
# "fix: Resolve navbar alignment issue"
# "docs: Update installation instructions"

Step 7: Push to Your Fork

# Push your branch to your fork
git push origin feat/your-feature-name

Step 8: Create a Pull Request

  1. Go to your fork on GitHub
  2. Click "Compare & pull request"
  3. Fill out the PR template with:
    • Clear description of changes
    • Screenshots (for UI changes)
    • Link to related issues
  4. Submit the pull request

Step 9: Keep Your Fork Updated

# Fetch latest changes from upstream
git fetch upstream

# Switch to main branch
git checkout main

# Merge upstream changes
git merge upstream/main

# Push updates to your fork
git push origin main

πŸ“‹ Development Guidelines

  • Read our Contributing Guide for detailed guidelines
  • Understand our Project Structure before making changes
  • Follow the existing code style and patterns
  • Write clear, descriptive commit messages
  • Test your changes locally before submitting
  • Update documentation if needed
  • Be respectful and collaborative in discussions
  • Ask questions if you're unsure about anything

πŸ› Finding Issues to Work On

  1. Check the Issues tab
  2. Look for issues labeled good first issue or help wanted to start with open-source
  3. Comment on the issue to express interest
  4. Wait for assignment before starting work

πŸ™ Acknowledgments

  • Geek Room Global for the inspiration and community support
  • KIET for providing the platform for our tech community
  • All Contributors who help make this project better
  • Open Source Community for the amazing tools and libraries

Made with ❀️ by Geek Room KIET

⭐ Star this repo

About

Geek Room Kiet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.6%
  • CSS 1.7%
  • JavaScript 0.7%