This repository contains the codebase for the GUSTO GCEE 2025 website, a Next.js-based application for the GCEE (Government College of Engineering, Erode) event. The project is built with modern web technologies to provide an interactive and responsive user experience.
- Framework: Next.js 15.2.2
- Language: TypeScript
- UI: React 19.0.0
- Styling: TailwindCSS
- Animation: Framer Motion, Motion
- 3D Elements: Three.js, React Three Fiber
- Icons: Heroicons, Tabler Icons, Lucide React, React Icons
- Particles: tsParticles
- Theme Support: next-themes
gusto-gcee-2025/
├── .git # Git repository
├── .next # Next.js build output
├── node_modules # Dependencies
├── public # Static assets
├── src/ # Source code
│ ├── app/ # Next.js app router pages
│ │ ├── BusRoutes/ # Bus routes page
│ │ ├── committee/ # Committee page
│ │ ├── events/ # Events page
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Homepage
│ ├── components/ # React components
│ │ ├── BusRoutes/ # Bus routes components
│ │ ├── committee/ # Committee components
│ │ ├── Events/ # Event-related components
│ │ ├── Home/ # Homepage components
│ │ └── UI/ # Reusable UI components
│ ├── data/ # Static data and constants
│ ├── lib/ # Utility functions and shared logic
│ └── styles/ # Global styles
├── .eslintrc.json # ESLint configuration
├── .gitignore # Git ignore file
├── components.json # Component metadata
├── eslint.config.mjs # ESLint configuration module
├── next-env.d.ts # Next.js TypeScript declarations
├── next.config.js # Next.js configuration
├── package-lock.json # Dependency lock file
├── package.json # Project metadata and dependencies
├── postcss.config.js # PostCSS configuration
├── tailwind.config.js # TailwindCSS configuration
└── tsconfig.json # TypeScript configuration
The website includes several key sections:
- Homepage: Main landing page with information about GUSTO GCEE 2025
- Events: Details about various technical and non-technical events
- Committee: Information about organizing committees
- Bus Routes: Transportation information for participants
The project implements a sophisticated section navigation system that enables smooth scrolling between different sections across pages. This includes:
- ScrollToSection: Generic component for navigating to any section on any page
- ScrollToContact: Specialized component for contact section navigation
- ScrollToEvent: Component for navigating to specific event sections
- ScrollToTimeline: Component for timeline section navigation
- ContactButton: Pre-styled button component built on top of ScrollToContact
- SessionStorage approach (default): Stores target section ID in sessionStorage and scrolls after navigation
- Hash navigation approach: Uses URL hash fragments for navigation
- Responsive Design: Optimized for various screen sizes
- Dark/Light Mode: Theme support via next-themes
- Animations: Interactive elements using Framer Motion
- Particle Effects: Background particle animations with tsParticles
- 3D Elements: Interactive 3D components with Three.js
-
Clone the repository:
git clone [repository-url] cd [repository-name] -
Install dependencies:
npm install -
Run development server:
npm run dev -
Open in browser: Navigate to http://localhost:3000
npm run build
npm run start
npm run dev: Start development servernpm run build: Build for productionnpm run start: Start production servernpm run lint: Run ESLint
The website is optimized for modern browsers with support for the latest JavaScript features and CSS properties.
Please follow the established code style and component structure when contributing to this project. Ensure all components are properly typed and documented.