Skip to content

Riddhi12349/Similarity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Similarity

Similarity is a real-time plagiarism detection platform designed to analyze and compare code submissions efficiently. It integrates an open-source plagiarism detection engine with a scalable backend, optimized to handle high-traffic loads. The system supports real-time processing of 10,000+ code submissions within 30 minutes, leveraging Java, Spring Boot, React, PostgreSQL

With a robust architecture that includes multithreading and concurrent server execution, Similarity ensures fast and accurate plagiarism detection.

image


Table of Contents

  1. Introduction
  2. Features
  3. Technologies Used
  4. Project Structure
  5. Future Enhancements

Introduction

  1. On the Home Page, navigate to the Contest button. image

  2. Select the desired contest from the available list. image

  3. Choose a specific question from the contest. image

  4. You will see a list of all users detected for plagiarism in this question. image

  5. Click on any specific user from the list.

  6. The selected user's code will appear on the left, and all the users with matching code will be displayed on the right. image

  7. Upon clicking the Code button, you will get a Report Solution option, which will redirect you to the LeetCode leaderboard ranking to report the user. image


Features

  1. Real-time plagiarism detection using JPlag for accurate code similarity analysis.

  2. Optimized API processing with high throughput.

  3. Efficient report generation through multithreading.

  4. Scalable infrastructure using cloud technologies.

  5. User-friendly web interface built with React and Tailwind.

  6. Secure storage with PostgreSQL and cloud-based databases.

  7. Mobile-responsive design for seamless access across devices.


Technologies Used

  • Backend:
    • Spring Boot – API development and request handling.

    • Spring Data JPA – Simplified database interactions.

    • PostgreSQL – Relational database for efficient data storage.

    • Lombok – Reduces boilerplate code in Java.

    • JPlag – Plagiarism detection engine for analyzing code similarity.


Project Structure

src/
├── main/
│   ├── java/
│   │   └── com/backend/similarity/
│   │       ├── controller/
│   │       │   ├── CodesController.java
│   │       │   ├── ContactController.java
│   │       │   ├── QuestionController.java
│   │       │   └── SubmissionsController.java
│   │       ├── dto/
│   │       │   ├── CodeDTO.java
│   │       │   ├── ContactDTO.java
│   │       │   ├── MatchDTO.java
│   │       │   ├── QuestionDTO.java
│   │       │   └── SubmissionDTO.java
│   │       ├── model/
│   │       │   ├── Codes.java
│   │       │   ├── Contest.java
│   │       │   ├── Difficulty.java
│   │       │   ├── Question.java
│   │       │   ├── Results.java
│   │       │   └── ResultsdId.java
│   │       ├── repository/
│   │       │   ├── CodesRepository.java
│   │       │   ├── ContestRepository.java
│   │       │   ├── QuestionRepository.java
│   │       │   └── ResultsRepository.java
│   │       └── service/
│   │           ├── CodesService.java
│   │           ├── ContestService.java
│   │           ├── EmailService.java
│   │           ├── QuestionService.java
│   │           ├── ResultsService.java
│   │           └── SimilarityApplication.java (Main Application Class)
│   └── resources/
│       └── ... (Configuration files, static resources)

upscalemedia-transformed


Future Enhancements

  1. Predicted Contest Rating: Implement a system to predict users' ratings after each contest based on their performance and similarity analysis.

  2. Multi-Platform Support: Extend plagiarism detection to platforms like CodeChef, ensuring a broader impact and wider usability.

  3. Verification for Recruiters & Referrers: Introduce an easy-to-use verification system that allows recruiters and referrers to check if a candidate has legitimate contest ratings or has been flagged for plagiarism, along with details on which contests they were involved in.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages