A modern, interactive coding platform for practicing DSA problems with real-time code execution
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
- 🔐 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
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
# 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 devGet Firebase credentials from Firebase Console → Project Settings → Web App
| 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 |
- Push to GitHub
- Import to Vercel
- Add Firebase environment variables
- Deploy!
Contributions are welcome! Fork the repo, make changes, and submit a PR.
Ideas: More problems • Multi-language support • Discussion forums • Leaderboard • Theme toggle
MIT License - See LICENSE for details.
Prakhar Srivastava
GitHub: @prakhar-srivastavaa • GeekCode Repo
