A full-stack web application for interactive coding mentorship, built with React and Node.js.
- Real-time Code Sharing: Mentors can view and interact with learners' code in real-time.
- Task Assignment: Mentors can create and assign coding tasks to learners.
- AI-Powered Evaluation: Code submissions are evaluated by Google's Gemini API, providing a score and detailed feedback.
- Session Management: Mentors can export and import session data to save and resume sessions.
- Administrative Controls: Mentors can kick or ban participants from a session.
- Dynamic Leaderboard: An optional leaderboard ranks learners by score and submission speed.
- Frontend: React, WebSockets, Monaco Editor
- Backend: Node.js, Express, ws (WebSockets)
- AI: Google Gemini API
- Node.js and npm installed
- A Gemini API key
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd ../frontend npm install
-
Set up your Gemini API key: Create a
.envfile in thebackenddirectory and add your API key:GEMINI_API_KEY=your_api_key_here -
Set the mentor secret: In
backend/server.js, you can change thementor_secret_keyto a value of your choice.
-
Start the backend server:
cd backend node server.js -
Start the frontend development server:
cd ../frontend npm start
The application will be available at http://localhost:3000.
This application is configured for deployment on Vercel. Simply connect your repository to a new Vercel project, and it will be deployed automatically using the vercel.json configuration file.
