Loading repository data…
Loading repository data…
JiyaBatra / repository
CodeVibe is an interactive learning platform designed to help beginners understand programming through simple lessons and hands-on practice. It includes structured course sections, coding examples, and a built-in HTML compiler that lets users write and test code directly in the browser, making learning web development practical, engaging.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A modern, browser-based coding practice platform inspired by FreeCodeCamp. Learn programming through structured tasks, real-time coding and instant evaluation — no local environment setup required.
Live Demo • Project Structure • Contributor Leaderboard • Contributing • Code of Conduct • Community • Contact & Support
CodeVibe removes friction from the learning journey. Whether you're a complete beginner or brushing up on fundamentals, CodeVibe provides:
| Feature | Benefit |
|---|---|
| In-Browser Compiler | Write code without installing anything—instant execution |
| Structured Curriculum | Learn through carefully designed lessons and exercises |
| Automatic Evaluation | Get instant feedback on correctness and performance |
| Progress Dashboard | Track completed tasks and monitor learning patterns |
| MCQ-Based Assessment | Comprehensive final tests to verify knowledge |
| Certificates | Shareable credentials upon course completion |
| Detailed Feedback | Identify strengths and areas for improvement |
C Fundamentals (17 lessons)
Web Basics with HTML (15 lessons)
Styling with CSS (14 lessons)
Clone the repository
git clone https://github.com/JiyaBatra/CODEVIBE-.git
cd CODEVIBE-
Install dependencies
# Frontend setup
cd client
npm install
# Backend setup
cd ../server
npm install
Configure environment variables
Copy the environment template and fill in your values:
cp server/.env.example server/.env
Then open server/.env and update at minimum:
MONGODB_URI — your local or MongoDB Atlas connection stringJWT_SECRET — generate a secure key by running: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
See server/.env.example for all available
variables and their descriptions.
To run the backend locally, you need to configure your environment variables.
Navigate to the server/ directory.
Copy the .env.example file and rename it to .env.
Update the variables in .env as needed:
PORT: The port your Express server will run on (Default: 5002).
DB_URL / MONGODB_URI: Your MongoDB connection string.
ALLOWED_ORIGINS: Comma-separated list of frontend URLs permitted to access the API.
LEADERBOARD_API_URL & TOKEN: Credentials required if you are syncing GitHub stats with the backend.
Start the development servers
Terminal 1 - Backend:
cd server
npm run dev
Terminal 2 - Frontend:
cd client
npm run dev
Open in browser
http://localhost:5173
CODEVIBE-/
├── .github/ # GitHub configuration and templates
│ ├── ISSUE_TEMPLATE/ # Issue templates for contributors
│ │ ├── bug_report.md # Bug report template
│ │ ├── feature_request.md # Feature request template
│ │ └── documentation.md # Documentation improvement template
│ └── pull_request_template.md # PR description template
├── client/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components (lessons, compiler, dashboard)
│ │ │ ├── Dashboard.jsx # Main dashboard with analytics
│ │ │ ├── MyMistakesDashboard.jsx # Track recurring coding mistakes (NEW)
│ │ │ ├── Compiler.jsx # Code editor and executor
│ │ │ └── ... # Other lesson components
│ │ ├── hooks/ # Custom React hooks
│ │ │ └── useMistakes.js # Hook for fetching mistakes data (NEW)
│ │ ├── assets/ # Images, icons, static files
│ │ ├── App.jsx # Main app component
│ │ ├── main.jsx # React entry point
│ │ └── index.css # Global styles
│ └── package.json
├── server/ # Node.js/Express backend
│ ├── routes/ # API endpoints
│ │ ├── api/
│ │ │ ├── progressRoutes.js # Progress tracking endpoints
│ │ │ ├── mistakesRoutes.js # Mistakes dashboard endpoints (NEW)
│ │ │ └── ... # Other route files
│ │ └── index.js # Route aggregator
│ ├── controller/ # Request handlers
│ │ ├── progress/ # Progress logic
│ │ ├── mistakes/ # Mistakes analysis logic (NEW)
│ │ └── ... # Other controllers
│ ├── models/ # Database schemas
│ ├── middleware/ # Auth and validation middleware
│ └── server.js # Server entry point
├── CODE_OF_CONDUCT.md # Community standards and behavior expectations
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
└── README.md # This file
POST /api/auth/register - User signupPOST /api/auth/login - User loginPOST /api/auth/logout - User logoutGET /api/lessons/:courseId - Fetch lessons for a courseGET /api/lessons/:id - Get specific lesson detailsPOST /api/compiler/execute - Execute user code and get resultsPOST /api/compiler/submit - Submit solution for evaluationGET /api/progress/:userId - Get user progress dashboardPOST /api/progress/track - Record lesson completionGET /api/mistakes/:email - Fetch user's recurring coding mistakesGET /api/mistakes/:email/:pattern - Get detailed info about a specific error patternGET /api/certificates/:userId - Generate certificatePOST /api/certificates/download - Download certificateSign Up → Email Verification → Complete Profile → Access Dashboard
Select Course → Browse Lessons → Read Instructions → Write Code → Submit Solution → Get Feedback
Complete All Lessons → Take Final Exam → View Results → Receive Certificate
We welcome contributions from the community! Whether it's bug fixes, new features, or documentation improvements, your help makes CodeVibe better.
Fork the repository
git clone https://github.com/YOUR_USERNAME/CODEVIBE-.git
cd CODEVIBE-
Create a feature branch
git checkout -b feature/amazing-feature
Make your changes
Commit and push
git add .
git commit -m 'Add amazing feature'
git push origin feature/amazing-feature
Open a Pull Request