ScoreFlow is an online coding assessment platform designed to streamline the evaluation process for universities and organizations. It provides automated code execution, real-time monitoring, and robust analytics to ensure fair and efficient assessments.
Live Application: scoreflow.live
Code Execution Flow -
- Automated Code Execution and Scoring: Supports multiple programming languages with dynamic test case evaluation.
- Plagiarism Detection: Ensures integrity with advanced code similarity algorithms.
- Proctoring and Monitoring: Includes live video analysis and real-time monitoring to detect suspicious activities.
- Customizable Test Environment: Flexible settings for tailored assessments.
- Detailed Analytics and Reporting: Provides insights into student performance and test outcomes.
- Secure and Scalable Infrastructure: Built with modern technologies to handle high concurrent users efficiently.
Frontend: ReactJS
Backend: Node.js, Express.js
Database: MongoDB
Authentication: Passport.js ( Google auth 2.0 )
Task Management: Bull Queues (Redis)
Session Store: Redis
Code Execution & Containerization: Docker
Deployment: AWS EC2
Hosting: Nginx
CI/CD: GitHub Actions
To run the application locally, follow these steps:
-
Clone the Repository:
git clone https://github.com/<your-repo>/scoreflow.git cd scoreflow
-
Install Dependencies:
- Navigate to the backend folder and install dependencies:
cd backend npm install
- Navigate to the frontend folder and install dependencies:
cd ../frontend npm install
- Navigate to the backend folder and install dependencies:
-
Set Up Environment Variables:
- In the
backend
folder, create a.env
file and add:MONGO_URI=<your-mongodb-uri> API_PORT=<your-api-port> SOCKET_PORT=<your-socket-port> FRONTEND_URL=<your-frontend-url> GOOGLE_CLIENT_ID=<your-google-client-id> GOOGLE_CLIENT_SECRET=<your-google-client-secret>
- In the
frontend
folder, create a.env
file and add:VITE_SOCKET_SERVER_URL=<your-socket-server-url> VITE_API_SERVER_URL=<your-api-server-url>
- In the
-
Run the Application:
- Start the backend server:
cd backend npm start
- Start the frontend development server:
cd ../frontend npm run dev
- Start the backend server:
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "Add your message"
- Push to the branch:
git push origin feature/your-feature
- Open a pull request.