The Online Lab Platform is a web-based application designed to facilitate coding assignments and their automated evaluation in an educational environment. This platform bridges the gap between instructors and students by providing a comprehensive system for creating, submitting, and evaluating programming assignments.
- User Role Management:
- Instructors can create, edit, and delete coding assignments
- Students can view assignments, submit code, and receive feedback
- Assignment Management System:
- Upload problem statements and test cases
- Organize assignments by courses or topics
- Code Submission System:
- Interactive interface for students to write and submit solutions
- Support for multiple programming languages
- Automated Evaluation Engine:
- Executes submitted code against predefined test cases
- Generates instant feedback on code performance and correctness
- Authentication:
- Secure login system for instructors and students
- Role-based access control
- Result Management:
- Reaults and codes are saves in database for later access.
- Frontend: React, Tailwind CSS, Daisy UI
- Backend: Node.js
- Database: MongoDB
- ** Compiler API ** : Jdoodle
- Node.js (v14.x or higher)
- npm (v6.x or higher)
- Clone the repository:
git clone https://github.com/Mayank471/Online-Lab-Platform.git
cd Online-Lab-Platform- Install dependencies:
npm install- Configure environment variables:
cp .env.example .env
# Edit .env file with your configuration- Set up the database:
- Add MongoDB API key to .env File
- Start the server:
npm start- For development mode with auto-reload:
npm run dev- The application will be available at:
http://localhost:5000
We welcome contributions to improve the Online Lab Platform! If you're interested in contributing, please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We are actively working on enhancing the platform with:
- Support for more programming languages
- Advanced plagiarism detection
- Integration with learning management systems
- Real-time collaboration features
- Enhanced analytics and reporting
This project is licensed under the MIT License - see the LICENSE file for details.