The official website for CP Squad - CHARUSAT's premier Competitive Programming club. A modern, responsive web application built with Next.js featuring Matrix-inspired animations, sticky horizontal scroll galleries, and a cyberpunk aesthetic.
- Matrix Digital Rain Effect - Dynamic particle background with Japanese characters and falling code
- Cyberpunk Aesthetic - Dark theme with neon green (#00FF41) accents and glowing effects
- Sticky Horizontal Scroll - Auto-scrolling image gallery synced with vertical page scroll
- Responsive Design - Pixel-perfect across all devices (mobile, tablet, desktop)
- Smooth Animations - Letter-by-letter text reveals and decoder effects
-
Hero Section
- Animated Matrix particle background (>/< symbol formation)
- Letter-dropping "CP SQUAD" animation
- Rotating sentences with decoder reveal effect
- Full viewport height with green gradient glow
-
About Section
- "BUILD_ CODE_ DEPLOY_" headline
- Three feature cards (Competitive Programming, Workshops, Contests)
- Numbered cards (00, 01, 02) with hover effects
- Color-changing gradients (pink, blue, green)
-
About Us Section
- Large impactful headlines
- Statistics display (50+ contests, 200+ members, 5+ years)
- Green glowing numbers with monospace font
- Two-column responsive layout
-
Projects Gallery
- Sticky horizontal scroll (500vh section)
- Auto-scrolling carousel synced with page scroll
- Centered container (85% width with margins)
- 5 project images from
/gallery - Hover effects with green borders
-
Blogs Section
- Grid layout for blog cards
- "View more" button
- Integrated with blog data system
- Next.js 14 with App Router
- Framer Motion for animations
- HTML5 Canvas for custom particle system
- Tailwind CSS with custom responsive breakpoints
- React Hooks (useState, useRef, useEffect)
- Next.js Image optimization
- Custom scroll event handling
Node.js 18+
npm or yarn or pnpm- Clone the repository
git clone https://github.com/CPSquad1/CPSquad.git
cd CPSquad/cpsquad- Install dependencies
npm install
# or
yarn install
# or
pnpm install- Run development server
npm run dev
# or
yarn dev
# or
pnpm dev- Open browser
http://localhost:3000
npm run build
npm startcpsquad/
βββ app/
β βββ globals.css # Global styles & animations
β βββ layout.js # Root layout with fonts
β βββ page.js # Main landing page
β βββ lib/
β βββ data/
β βββ blogdata.js # Blog data
βββ component/
β βββ BlogCard/
β β βββ BlogCard.jsx
β βββ Footer/
β β βββ Footer.jsx # Footer with ASCII art & contributors
β βββ HeroText/
β β βββ HeroText.jsx # Animated hero text component
β βββ Navbar/
β β βββ Logo.jsx
β β βββ Navbar.jsx
β β βββ NavLinks.jsx
β β βββ MobileMenu/
β β βββ MobileMenu.jsx
β β βββ MobileMenuButton.jsx
β βββ ParticleBackground/
β β βββ ParticleBackground.jsx # Matrix rain effect
β βββ ScrollSidebar/
β βββ ScrollSidebar.jsx
βββ public/
β βββ gallery/ # Project images (image.png - image4.png)
β βββ images/ # Other static assets
βββ README.md
--primary-green: #00FF41 /* Matrix green */
--hover-green: #00DD35 /* Hover state */
--dark-bg: #0a0a0a /* Main background */
--card-bg: #1e293b /* Card background */
--navy: #1a1d2e /* Section background */- Headings: Nunito (400-900 weights)
- Body: Geist Sans
- Code: Geist Mono, Monospace
- Matrix: Monospace for particle effects
xs: 480px /* Extra small devices */
sm: 640px /* Small devices */
md: 768px /* Medium devices */
lg: 1024px /* Large devices */
xl: 1280px /* Extra large devices */Matrix Digital Rain effect with:
- Japanese katakana characters
- Trailing particle effects
- Three animation phases (entry, idle, exit)
- Responsive sizing across devices
- Canvas-based rendering
Animated text component featuring:
- Letter-by-letter falling animation
- Decoder reveal effect for sentences
- Rotating text (3 sentences)
- Green glow effects
- Responsive font scaling
Sticky horizontal scroll section:
- 500vh tall section for scroll duration
- Auto-scrolling carousel synced with page scroll
- useEffect hook for scroll event handling
- Centered container with responsive widths
- Smooth transitions
import { Nunito } from "next/font/google";
const nunito = Nunito({
subsets: ["latin"],
weight: ["400", "500", "600", "700", "800", "900"],
variable: "--font-nunito",
});html {
scroll-behavior: smooth;
}
* {
scroll-behavior: smooth !important;
}The website is fully responsive with specific optimizations for:
- Mobile (320px - 640px): Single column, compact spacing
- Tablet (640px - 1024px): Two columns, medium spacing
- Desktop (1024px+): Full layout, optimal spacing
- Large Screens (1440px+): Maximum widths, extra spacing
- β Next.js Image optimization
- β Server Components where possible
- β Canvas animations with requestAnimationFrame
- β Passive scroll event listeners
- β CSS transitions over JavaScript animations
- β Lazy loading for images
- β Optimized particle count based on viewport
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Maintain responsive design principles
- Test on multiple devices/browsers
- Optimize images before committing
- Write meaningful commit messages
Dev Shah Β Β Β Β
Utsav Savani
CP Squad
- π§ Email: [email protected]
- π§ Email: [email protected]
- π Location: KDPIT, CSPIT, CHARUSAT, Gujarat, India
- π± Instagram: @cpsquad_vitb
- πΌ LinkedIn: CP Squad
- π» GitHub: CPSquad1
This project is licensed under the MIT License - see the LICENSE file for details.
- Open source libraries and frameworks used
- Matrix Digital Rain animation concept
- Next.js and React communities
- CHARUSAT University Β© 2025 CP Squad. All rights reserved.