Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

I have tried to revamp the CoderArmy website with the help of Nextjs, TailwindCSS, TypeScript and Gemini API.

Notifications You must be signed in to change notification settings

Mrkarfa/CoderArmy---revamp

Repository files navigation

Logo

πŸŽ“ The Ultimate Learning Platform

A community of coders, making the world a better place. Learn, build, and grow with the best developers in the industry.

Features β€’ Tech Stack β€’ Getting Started β€’ Project Structure β€’ Challenges β€’ Deployment

Next.js React TypeScript TailwindCSS GSAP


πŸ“– Description

This project is a premium, modern learning platform designed to revolutionize the way developers learn and grow. Built with cutting-edge technologies, it offers an immersive, interactive experience with award-worthy animations and a sleek dark-themed UI.

The platform serves as a comprehensive hub for:

  • πŸ“š Structured Learning β€” Access to curated courses and roadmaps
  • πŸ’¬ Instant AI Assistance β€” Get help from an intelligent coding assistant
  • 🎯 Interactive Coding Environment β€” Practice in real-time with live coding exercises
  • πŸ‘₯ Community Support β€” Join a private Discord community of like-minded developers
  • πŸ† Gamified Progress β€” Track your learning journey with leaderboards

✨ Features

🏠 Landing Page Components

Component Description
Navigation Modern, responsive header with smooth animations and mobile-first design
Hero Section Captivating intro with gradient typography, animated scroll indicators, and embedded video dialog
Stop Buying Section Compelling value proposition with animated feature cards
Instant Help AI-powered chat interface with real-time typing animations
Interactive Coding Environment Live code editor showcase with syntax highlighting
Reviews/Testimonials Social proof section with user testimonials
Learning Path Visual curriculum roadmap with animated progress indicators
Pricing Tiered subscription plans with monthly/yearly toggle
FAQ Accordion-style frequently asked questions with Radix UI
Mentor Portfolio Instructor profiles and credentials showcase
Contact Professional contact form with validation
Footer Comprehensive site navigation and social links

πŸ” Authentication Pages

  • Login Page β€” Sleek, animated sign-in form with social auth options
  • Signup Page β€” User registration with form validation

πŸ“Š Dashboard Features

  • Leaderboard β€” Gamified progress tracking and ranking system
  • Roadmap β€” Personalized learning paths and course progression

πŸ›  Tech Stack

Frontend Framework

  • Next.js 16 β€” React framework with App Router, RSC, and Server Actions
  • React 19 β€” Latest React with concurrent features and improved performance
  • TypeScript 5 β€” Type-safe development with strict mode enabled

Styling & UI

  • Tailwind CSS 4 β€” Utility-first CSS with JIT compilation
  • Radix UI β€” Accessible, unstyled UI primitives (Accordion, Label, Slot)
  • Lucide React β€” Beautiful, consistent icon library
  • tw-animate-css β€” Pre-built animation utilities

Animation & Interactions

  • GSAP 3.14 β€” Professional-grade animation library for complex sequences
  • Motion (Framer Motion) β€” Declarative animations and gestures
  • Lenis β€” Butter-smooth scrolling experience

Utilities

  • clsx β€” Utility for constructing className strings
  • class-variance-authority β€” Type-safe component variants
  • tailwind-merge β€” Smart Tailwind class merging

πŸš€ Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js 18.17 or higher
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/project-4.git
    cd project-4
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  4. Open your browser

    Navigate to http://localhost:3000 to see the application.

Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Create optimized production build
npm run start Start production server
npm run lint Run ESLint for code quality

πŸ“ Project Structure

project-4/
β”œβ”€β”€ πŸ“‚ app/
β”‚ β”œβ”€β”€ πŸ“‚ component/ # Feature-based components
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ Hero/ # Hero section
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ Nav/ # Navigation/Header
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ pricing/ # Pricing cards
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ reviews/ # Testimonials
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ FAQ/ # FAQ accordion
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ Contact/ # Contact form
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ Footer/ # Site footer
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ instant-help/ # AI chat interface
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ interactive-coding-environment/
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ leader-board/ # Leaderboard component
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ mentor-portfolio/
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ other-section/ # Curriculum path
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ roadmap/ # Learning roadmap
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ stop-buying/ # Value proposition
β”‚ β”‚ β”œβ”€β”€ πŸ“‚ log-in-page/ # Login form
β”‚ β”‚ └── πŸ“‚ sign-up-page/ # Signup form
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“‚ hooks/ # Custom React hooks
β”‚ β”œβ”€β”€ πŸ“‚ providers/ # Context providers (GSAP, Smooth Scroll)
β”‚ β”œβ”€β”€ πŸ“‚ login/ # Login route
β”‚ β”œβ”€β”€ πŸ“‚ signup/ # Signup route
β”‚ β”œβ”€β”€ πŸ“‚ leaderboard/ # Leaderboard route
β”‚ β”œβ”€β”€ πŸ“‚ roadmap/ # Roadmap route
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“„ layout.tsx # Root layout with providers
β”‚ β”œβ”€β”€ πŸ“„ page.tsx # Home page
β”‚ └── πŸ“„ globals.css # Global styles & Tailwind config
β”‚
β”œβ”€β”€ πŸ“‚ components/
β”‚ └── πŸ“‚ ui/ # Reusable UI components (shadcn/ui style)
β”‚
β”œβ”€β”€ πŸ“‚ lib/ # Utility functions
β”œβ”€β”€ πŸ“‚ public/ # Static assets
β”‚
β”œβ”€β”€ πŸ“„ next.config.ts # Next.js configuration
β”œβ”€β”€ πŸ“„ tailwind.config.ts # Tailwind CSS configuration
β”œβ”€β”€ πŸ“„ tsconfig.json # TypeScript configuration
β”œβ”€β”€ πŸ“„ vercel.json # Vercel deployment config
└── πŸ“„ package.json # Dependencies and scripts

🎒 Challenges & Solutions

1. Complex Animation Orchestration

Challenge: Coordinating multiple GSAP timeline animations across different components while maintaining smooth 60fps performance.

Solution: Implemented component-scoped GSAP contexts using gsap.context() with proper cleanup in useEffect return statements. This prevents memory leaks and ensures animations don't conflict between route changes.

useEffect(() => {
 const ctx = gsap.context(() => {
 // Animation code here
 }, sectionRef);
 return () => ctx.revert(); // Proper cleanup
}, []);

2. Smooth Scrolling Integration

Challenge: Integrating Lenis smooth scrolling with GSAP ScrollTrigger while avoiding jank and maintaining native scroll feel.

Solution: Created a dedicated SmoothScrollProvider that wraps the app and synchronizes with GSAP's ticker for seamless integration:

// Sync Lenis with GSAP
gsap.ticker.add((time) => {
 lenis.raf(time * 1000);
});

3. Chat Animation Realism

Challenge: Creating realistic, conversation-like animations for the AI chat interface example cards that feel natural and engaging.

Solution: Implemented staggered delays and typing indicators with precise timing to simulate authentic chat behavior, including visual "waiting" states.

4. Responsive Animation Scaling

Challenge: Ensuring animations look polished across all device sizes without performance degradation on mobile.

Solution: Utilized responsive GSAP matchMedia queries and reduced animation complexity on smaller viewports while maintaining visual appeal.

5. Server/Client Component Boundary

Challenge: Managing the "use client" directive effectively in Next.js 16 App Router while leveraging server components where possible.

Solution: Carefully structured components to maximize server-rendered content, using client components only for interactive/animated sections. Providers are isolated for clean separation.


🚒 Deployment

Deploy on Vercel

The project is optimized for deployment on Vercel.

Deploy with Vercel

  1. Push your code to a Git repository (GitHub, GitLab, or Bitbucket)
  2. Import your project to Vercel
  3. Vercel will automatically detect Next.js and configure the build settings
  4. Deploy! πŸŽ‰

Environment Variables

No environment variables are required for the base deployment. Future integrations may require:

  • Database credentials
  • Authentication provider keys
  • API endpoints

🎨 Design Philosophy

This project follows these design principles:

  • πŸŒ™ Dark Mode First β€” Modern, eye-friendly dark theme with #0a0a0a as the base
  • ✨ Micro-interactions β€” Subtle animations that bring the UI to life
  • πŸ“± Mobile Responsive β€” Fully adaptive layouts from 320px to 4K displays
  • β™Ώ Accessibility β€” Semantic HTML, ARIA labels, and keyboard navigation
  • ⚑ Performance β€” Optimized bundle sizes, lazy loading, and efficient rendering

Color Palette

Color Hex Usage
Background #0a0a0a Main background
Surface #0d0d0d Cards, containers
Primary Amber gradient CTAs, highlights
Text Primary #ffffff Headlines
Text Secondary #8a8a8a Body, descriptions
Text Muted #6a6a6a Subtle text

πŸ“ License

This project is private and proprietary.


πŸ‘¨β€πŸ’» Author

Souvik Karfa


⭐ If you found this project helpful, please consider giving it a star!

Made with ❀️ and lots of β˜•

About

I have tried to revamp the CoderArmy website with the help of Nextjs, TailwindCSS, TypeScript and Gemini API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /