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.
- 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
- Project Structure - Complete folder organization guide
- Contributing Guide - How to contribute to the project
- 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
- 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
- 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
- Node.js 18.0 or later
- Bun (recommended) or npm/yarn/pnpm
-
Clone the repository
git clone https://github.com/your-username/geekroom-kiet.git cd geekroom-kiet -
Install dependencies
# Using Bun (recommended) bun install # Or using npm npm install # Or using yarn yarn install
-
Start the development server
# Using Bun bun run dev # Or using npm npm run dev # Or using yarn yarn dev
-
Open your browser Navigate to http://localhost:3000 to see the website.
- Want to contribute? Check out our Contributing Guide
- Need help? Open an issue
- Have questions? Join our community discussions
- Explore the codebase? Read our Project Structure Guide
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.
- 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
- Package Manager: Bun (with npm/yarn support)
- Linting: Biome (ESLint alternative)
- Type Checking: TypeScript
- Code Formatting: Biome formatter
- Platform: Vercel (recommended)
- Static Export: Supported for other platforms
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.
- Go to the Geek Room KIET repository
- Click the "Fork" button in the top-right corner
- This creates a copy of the project in your GitHub account
# Replace YOUR-USERNAME with your GitHub username
git clone https://github.com/YOUR-USERNAME/geekroom-kiet.git
cd geekroom-kiet# Add the original repository as upstream
git remote add upstream https://github.com/your-username/geekroom-kiet.git
# Verify your remotes
git remote -v# 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- Make your changes locally
- Test your changes thoroughly
- Follow the existing code style
- Write clear commit messages
# 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"# Push your branch to your fork
git push origin feat/your-feature-name- Go to your fork on GitHub
- Click "Compare & pull request"
- Fill out the PR template with:
- Clear description of changes
- Screenshots (for UI changes)
- Link to related issues
- Submit the pull request
# 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- 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
- Check the Issues tab
- Look for issues labeled
good first issueorhelp wantedto start with open-source - Comment on the issue to express interest
- Wait for assignment before starting work
- 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
