Skip to content

Latest commit

Β 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ LivecodeX

A Modern Full-Stack Live Coding Interview Platform

Conduct live coding interviews with real-time video calling, collaborative code editing, secure authentication, coding practice, and multi-language code execution using an online compiler API.

LivecodeX Banner

React Vite JavaScript Node.js Express.js MongoDB Mongoose TailwindCSS Clerk Stream Inngest TanStack Query Axios Monaco Editor Git GitHub


✨ Features

πŸ‘¨β€πŸ’» Coding Experience

  • πŸ’» VS Code-like Monaco Editor
  • πŸŒ™ Dark & Light Theme Support
  • 🌍 Multi-language Code Support
  • ▢️ Real-time Code Execution
  • πŸ§ͺ Custom Code Testing
  • πŸ“‹ Copy Code
  • πŸ’Ύ Save Code
  • 🧩 Coding Practice Mode
  • πŸ“š Multiple Coding Problems
  • 🎯 Automatic Test Case Evaluation

πŸŽ₯ Live Interview

  • πŸŽ₯ 1-on-1 Video Interview Rooms
  • πŸ’¬ Real-Time Chat
  • πŸŽ™οΈ Microphone Toggle
  • πŸ“· Camera Toggle
  • πŸ–₯️ Screen Sharing
  • πŸŽ₯ Interview Recording
  • πŸ”’ Private Interview Rooms (Maximum 2 Participants)

πŸ” Authentication

  • Clerk Authentication
  • Protected Routes
  • User Profiles
  • Secure Sessions

πŸ“Š Dashboard

  • Live Interview Statistics
  • Coding Dashboard
  • Interview History
  • Recent Activity

βš™οΈ Backend

  • REST API using Express.js
  • MongoDB Database
  • Mongoose ODM
  • Clerk Backend Authentication
  • Inngest Background Jobs
  • Stream Video SDK
  • OnlineCompiler API integration
  • Code execution API

πŸ§ͺ Code Execution

  • ⚑ Online code execution using OnlineCompiler API
  • 🐍 Python execution
  • β˜• Java execution
  • πŸ”΅ C execution
  • 🟣 C++ execution
  • ▢️ Run code directly from the Monaco Editor
  • πŸ“€ Program input support
  • πŸ“‹ Real-time output display
  • ❌ Compilation and runtime error handling
  • 🎯 Automatic test case evaluation

🎨 UI/UX

  • Responsive Design
  • Modern UI
  • Beautiful Animations
  • Toast Notifications
  • Confetti Animation
  • Clean Dashboard

πŸ›  Tech Stack

Frontend

  • React.js
  • Vite
  • JavaScript
  • JSX
  • Tailwind CSS
  • Monaco Editor
  • React Router DOM
  • TanStack Query
  • Axios
  • Clerk Authentication
  • Stream Video SDK
  • Framer Motion
  • React Hot Toast

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • Clerk Backend SDK
  • Inngest
  • Stream SDK
  • Axios
  • OnlineCompiler API

πŸ“‚ Project Structure

LivecodeX
β”‚
β”œβ”€β”€ frontend
β”‚   β”œβ”€β”€ public
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ pages
β”‚   β”‚   β”œβ”€β”€ data
β”‚   β”‚   └── lib
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ controller
β”‚   β”‚   β”œβ”€β”€ routes
β”‚   β”‚   β”œβ”€β”€ services
β”‚   β”‚   β”œβ”€β”€ middleware
β”‚   β”‚   └── lib
β”‚   └── package.json
β”‚
β”œβ”€β”€ README.md

πŸ§ͺ Environment Variables

Backend (backend/.env)

PORT=3000
NODE_ENV=development

DB_URL=your_mongodb_connection_url

CLIENT_URL=http://localhost:5173

CLERK_SECRET_KEY=your_clerk_secret_key

STREAM_API_KEY=your_stream_api_key
STREAM_API_SECRET=your_stream_api_secret

INNGEST_EVENT_KEY=your_inngest_event_key
INNGEST_SIGNING_KEY=your_inngest_signing_key

ONLINE_COMPILER_API_KEY=your_onlinecompiler_api_key

Frontend (frontend/.env)

VITE_API_URL=http://localhost:3000/api

VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key

VITE_STREAM_API_KEY=your_stream_api_key

πŸš€ Installation

Clone the Repository

git clone https://github.com/S-K-Roy18/LivecodeX.git

cd LivecodeX

Install Backend

cd backend

npm install

npm run dev

Backend will run at:

http://localhost:3000

Install Frontend

cd frontend

npm install

npm run dev

Frontend will run at:

http://localhost:5173

πŸš€ Deployment

Service Platform
Frontend Vercel
Backend Render
Database MongoDB Atlas
Authentication Clerk
Video & Chat Stream
Code Execution OnlineCompiler API

πŸ“… Roadmap

  • βœ… Live Coding Editor
  • βœ… Authentication
  • βœ… Video Interviews
  • βœ… Chat System
  • βœ… Screen Sharing
  • βœ… Dashboard
  • βœ… Coding Practice
  • βœ… Multi-language Code Execution
  • βœ… Python Support
  • βœ… Java Support
  • βœ… C Support
  • βœ… C++ Support
  • βœ… Automatic Test Case Evaluation
  • πŸ”„ Submission History
  • πŸ”„ AI Interview Feedback
  • πŸ”„ Collaborative Whiteboard

🀝 Contributing

Contributions are welcome!

  1. Fork the repository

  2. Create a feature branch

git checkout -b feature-name
  1. Commit your changes
git commit -m "Added new feature"
  1. Push the branch
git push origin feature-name
  1. Open a Pull Request

⭐ Show Your Support

If you like this project, consider giving it a ⭐ on GitHub.


🌐 Connect With Me


πŸ“œ License

This project is licensed under the MIT License.


Made with ❀️ by Surya Kanta Roy

About

Live coding interviews with real-time video calling, collaborative code editing, secure authentication, coding practice, and multi-language code executor.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages