Skip to content

prakhar-srivastavaa/GeekCode

Repository files navigation

🚀 GeekCode - Coding Platform

GeekCode

A modern, interactive coding platform for practicing DSA problems with real-time code execution

Next.js Firebase TypeScript License

Report BugRequest Feature


🎯 About

GeekCode is a full-stack coding platform inspired by LeetCode. Practice Data Structures and Algorithms with:

  • 🖥️ Real-time code editor with syntax highlighting
  • ✅ Test case validation
  • ⏱️ Timer functionality
  • 🔐 User authentication
  • 🧩 Multiple DSA problems
  • 📱 Responsive design

✨ Features

  • 🔐 Firebase Authentication - Secure login/signup with password reset
  • 💻 CodeMirror Editor - Professional code editor with VS Code theme
  • Test Validation - Real-time feedback on code execution
  • 🧩 DSA Problems - Array, LinkedList, Stack, Binary Search, DP
  • ⏱️ Timer - Track solving time
  • 🎥 Video Solutions - YouTube tutorials for select problems
  • 📱 Responsive - Works on all devices

🛠️ Tech Stack

Frontend: Next.js 15.5 • React 18 • TypeScript • Tailwind CSS • DaisyUI
Editor: CodeMirror • VS Code Theme • JavaScript Support
Backend: Firebase Authentication • Firestore Database
State: Recoil • React Hooks
UI: React Split • React Icons • React Toastify • React YouTube


🚀 Getting Started

# Clone the repo
git clone https://github.com/prakhar-srivastavaa/GeekCode.git
cd GeekCode

# Install dependencies
npm install

# Create src/.env.local with Firebase credentials
NEXT_PUBLIC_FIREBASE_API_KEY=your_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id

# Run dev server
npm run dev

Get Firebase credentials from Firebase Console → Project Settings → Web App


🧩 Available Problems

Problem Difficulty Category
Two Sum Easy Array
Reverse Linked List Hard Linked List
Jump Game Medium Dynamic Programming
Valid Parentheses Easy Stack
Search a 2D Matrix Medium Binary Search

🌐 Deployment

Deploy with Vercel

  1. Push to GitHub
  2. Import to Vercel
  3. Add Firebase environment variables
  4. Deploy!

🤝 Contributing

Contributions are welcome! Fork the repo, make changes, and submit a PR.

Ideas: More problems • Multi-language support • Discussion forums • Leaderboard • Theme toggle


📄 License

MIT License - See LICENSE for details.


👨‍💻 Contact

Prakhar Srivastava
GitHub: @prakhar-srivastavaaGeekCode Repo


Made with ❤️ by Prakhar Srivastava

Star this repo if you find it helpful!

Inspired by LeetCode

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages