Skip to content

AnkitRajCode/leetcode-pattern-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LeetCode Pattern Tracker

LeetCode Pattern Tracker

Stop memorizing solutions. Start mastering patterns.
A modern, pattern-based DSA learning platform for serious coding interview preparation.

🌐 Live Demo Β Β·Β  πŸ› Report Bug Β Β·Β  ✨ Request Feature

Stars Forks License Vercel


✨ Features

Feature Description
πŸ“Š Pattern-Based Learning Problems organized by DSA patterns β€” Arrays & Hashing, Strings, Linked Lists, Dynamic Programming, Graphs, Trees
βœ… Progress Tracking Mark questions as Solved, Revision, or Unsolved with persistent state
πŸ”— LeetCode Sync Connect your LeetCode profile and auto-sync solved problems
πŸ“ˆ Dashboard Analytics Visual progress stats β€” overall completion %, difficulty breakdown (Easy / Medium / Hard)
πŸ” Firebase Authentication Google sign-in to save and sync progress across devices
πŸŒ— Dark / Light Theme System-aware theme toggle with smooth transitions
πŸ“ Markdown Solutions Rich solutions with syntax-highlighted code blocks
🎯 Smart Filtering Filter by difficulty, status, and pattern within each topic
🏷️ Interview Tips Memory tricks and interview-focused notes for each problem
πŸ“± PWA Ready Installable as a Progressive Web App with manifest and icons
πŸ” SEO Optimized Dynamic meta tags, Open Graph, Twitter cards, sitemap, and robots.txt
πŸ“Š Analytics Firebase Analytics + Vercel Analytics for usage insights

πŸ› οΈ Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS v4
UI Components Radix UI Β· Lucide Icons
Animations Framer Motion
State Management Zustand
Auth & Database Firebase (Auth + Firestore)
Markdown react-markdown Β· react-syntax-highlighter
Analytics Vercel Analytics Β· Firebase Analytics
Deployment Vercel

πŸš€ Getting Started

Prerequisites

  • Node.js >= 18
  • npm or yarn
  • A Firebase project with Auth & Firestore enabled

Installation

# Clone the repository
git clone https://github.com/AnkitRajCode/leetcode-pattern-tracker.git
cd leetcode-pattern-tracker

# Install dependencies
npm install

# Create environment variables
cp .env.example .env.local

Environment Variables

Create a .env.local file in the root directory:

NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=your_measurement_id

Run Locally

npm run dev

Open http://localhost:3000 in your browser.

Build for Production

npm run build
npm start

πŸ“ Project Structure

leetcode-pattern-tracker/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ page.tsx              # Homepage β€” topic cards & hero section
β”‚   β”œβ”€β”€ layout.tsx            # Root layout with providers & metadata
β”‚   β”œβ”€β”€ dashboard/            # Dashboard with progress stats & LeetCode sync
β”‚   β”œβ”€β”€ topics/[topic]/       # Dynamic topic pages with question tables
β”‚   β”œβ”€β”€ api/                  # API routes
β”‚   β”œβ”€β”€ robots.ts             # SEO robots configuration
β”‚   └── sitemap.ts            # Dynamic sitemap generation
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ table/                # Interactive question table with filters
β”‚   β”œβ”€β”€ topic/                # Topic page components
β”‚   β”œβ”€β”€ ui/                   # Reusable UI primitives (Button, Dialog, etc.)
β”‚   β”œβ”€β”€ LeetcodeSync.tsx      # LeetCode profile sync component
β”‚   β”œβ”€β”€ FirebaseSync.tsx      # Firebase data sync on auth state
β”‚   β”œβ”€β”€ FirebaseAnalytics.tsx # Analytics tracking
β”‚   β”œβ”€β”€ MarkdownRenderer.tsx  # Syntax-highlighted markdown rendering
β”‚   β”œβ”€β”€ ThemeToggle.tsx       # Dark / Light mode toggle
β”‚   β”œβ”€β”€ UserNav.tsx           # User navigation & auth controls
β”‚   └── Footer.tsx            # Global footer
β”œβ”€β”€ context/
β”‚   └── AuthContext.tsx       # Firebase auth context provider
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ arrays.json           # Arrays & Hashing problems
β”‚   β”œβ”€β”€ strings.json          # String Manipulation problems
β”‚   β”œβ”€β”€ linkedlist.json       # Linked Lists problems
β”‚   β”œβ”€β”€ dp.json               # Dynamic Programming problems
β”‚   β”œβ”€β”€ graph.json            # Graph problems
β”‚   └── tree.json             # Tree problems
β”œβ”€β”€ store/
β”‚   └── questionStore.ts      # Zustand store for question state
β”œβ”€β”€ lib/                      # Firebase config & utilities
β”œβ”€β”€ public/                   # Static assets, icons, manifest
└── types/                    # TypeScript type definitions

πŸ“Έ Screenshots

Home Page Topic Page
Pattern-based topic cards with stats Interactive table with filters & solutions
Dashboard Dark Mode
Progress analytics & LeetCode sync Full dark theme support

πŸ“š Curated Resources

LeetCode Lists & Problem Sets

Comprehensive Lists

Grind 75

Blind 75

Neetcode 150


DSA Sheets & Roadmaps


Interview Preparation

Data Structures Visualization


System Design


Backend Development

Spring & Spring Boot

Backend Fundamentals


GitHub Repositories

Area Repository
Java Java Code Examples β€” navinreddy20
Spring 6 Spring 6 Course β€” navinreddy20
Microservices Microservices Tutorials β€” navinreddy20
AI/ML LangChain and Ollama β€” laxmimerit
Angular Angular Interview Questions β€” sudheerj

Additional References


🀝 Contributing

Contributions are welcome! Feel free to open issues and submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.


πŸ‘€ Author

Ankit Raj

🌐 Portfolio  ·  GitHub  ·  Twitter  ·  LinkedIn


⭐ Star this repo if it helped your interview prep!

About

A modern, pattern-based DSA learning platform for serious coding interview preparation.

Topics

Resources

Stars

Watchers

Forks

Contributors