You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BeatCode is a comprehensive coding practice platform designed to help developers improve their problem-solving skills through interactive coding challenges, AI-powered assistance, and detailed performance analytics.
Why BeatCode?
🚀 Learn by Doing: Practice coding with real-world problems
🤖 AI-Powered Learning: Get intelligent hints, code reviews, and explanations
📊 Track Progress: Visualize your growth with detailed analytics
🎨 Beautiful Experience: Modern UI with dark/light themes
✨ Key Features
🧠 Core Features
Feature
Description
💻 Code Editor
Monaco Editor (VS Code experience) with syntax highlighting
🔒 Secure Execution
Sandboxed code execution via JDoodle API (with Mock Mode)
🤖 AI Assistant
Groq-powered hints, code reviews, and explanations
📊 Analytics
Activity heatmap, time analysis, and progress tracking
🏆 Gamification
Leaderboard, solved problems tracking
🌗 Theme Support
Dark/Light mode toggle
👤 User Features
🔐 Authentication: Secure JWT-based login/register
📈 Dashboard: Personalized progress overview
💾 Submission History: Track all your attempts
⭐ Problem Solving: Solve problems in multiple languages
👑 Admin Features
➕ Create Problems: Add new problems with test cases
JDoodle API credentials (optional, mock mode available)
Groq API key (for AI features)
Installation
# Clone the repository
git clone https://github.com/The-AarushiSingh/BeatCode.git
cd BeatCode
# Install backend dependencies
npm install
# Install frontend dependenciescd frontend
npm install
cd ..
# Set up environment variables
cp .env.example .env
# Edit .env with your credentials
Environment Variables
# ServerPORT=3000NODE_ENV=production# MongoDBMONGODB_URI=your_mongodb_connection_string# JWTJWT_KEY=your_jwt_secret_keyJWT_SECRET=your_jwt_secret_key# JDoodleJDOODLE_CLIENT_ID=your_jdoodle_client_idJDOODLE_CLIENT_SECRET=your_jdoodle_client_secret# Groq AIGROQ_API_KEY=your_groq_api_key# Mock ModeUSE_MOCK=true# Set to false to use real JDoodle
Run Locally
# Start backend
npm run dev
# In another terminal, start frontendcd frontend
npm run dev
If you found this project helpful, please give it a ⭐ on GitHub!
Built with ❤️ by Aarushi Singh
About
An AI-powered LeetCode-inspired platform with secure code execution, personalized learning analytics, AI hints, code reviews, and video-based explanations.