- IT21109126 - Maharanhindage V.A.R
- IT20611088 - Jayakody D.M.L.D
- IT21012488 - Shavinda H.K.L
- IT21001352 - Madhubhashana K.S
CODEXGURU is an interactive programming assistance platform designed to help instructors and novice programmers collaborate and learn effectively.
-
Code Editor
An inbuilt code editor that supports more than 40 programming languages with syntax highlighting and auto completion for selected languages (JavaScript, TypeScript). -
Chat Forum
A chat forum (new session per lab) where students can post the doubts and others can reply. -
Online Examination Environment
An online exam environment, where an instructor can schedule an exam (typically MCQ based) with automated marking. -
AI chatbot
An AI chatbot powered by OpenAI's API that can answer programming related questions. -
User Management
This feature allows the platform admin to add/manage the relevant lab instructors and students.
- Next.js
- Express.js
- TypeScript
- Socket.io
- MongoDB
- Docker
- Firebase Storage
-
Clone the repository
https://github.com/SLIIT-Y3S2/CodexGuru
-
Navigate to the project directory
cd CodexGuru
-
Navigate to the frontend directory
cd codexguru-client
-
Create a .env file in the frontend directory and add the following environment variables
NEXTAUTH_SECRET= <Your NextAuth Secret> NEXTAUTH_URL= <Your NextAuth URL> BACKEND_URL= <Your Backend URL> NEXT_PUBLIC_FIREBASE_API_KEY= <Your Firebase API Key> NEXT_PUBLIC_FIREBASE_AUTH_DOMAI= <Your Firebase Auth Domain> NEXT_PUBLIC_FIREBASE_PROJECT_ID= <Your Firebase Project ID> NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= <Your Firebase Storage Bucket> NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= <Your Firebase Messaging Sender ID> NEXT_PUBLIC_FIREBASE_APP_ID= <Your Firebase App ID>
-
Install the dependencies
npm install
-
Run the frontend
npm run dev
-
Navigate to the backend directory
cd codexguru-server
-
Create a .env file in the backend directory and add the following environment variables
MONGO_URI = <Your MongoDB URI> PORT = <Your Port Number> JWT_SECRET = <Your JWT Secret> COMPILER_PATH = <Your Compiler Path> OPENAI_API_KEY= <Your OpenAI API Key>
-
Install the dependencies
npm install
-
Run the backend
npm run dev
-
Open the browser and navigate to the following URL : http://localhost:3000