PlagX is an automated tool designed to detect potential plagiarism in LeetCode coding contests. It crawls contest data, processes user submissions, generates comprehensive reports, and uploads results to GitHub. Features secure handling of environment variables and seamless integration with GitHub for efficient data management.
Ensure you have the required dependencies installed:
pip install -r requirements.txt
Visit this Link for Checking Live PlagX Website PlagX
For Website Code Please Do Visit to my Github Repository lc
Set up the environment and constants for the project. Sensitive data is loaded from the .env
file.
Create the necessary directories for storing data.
Crawl the LeetCode website to collect contest and submission data.
Compress the collected data into ZIP files.
Download the reports for further processing.
Combine individual reports into a comprehensive report.
Generate the final results based on the combined reports.
Convert the final reports into JSON format for easier handling.
Upload the JSON reports to the specified GitHub repository.
Upload the data file to GitHub for record-keeping and further analysis.
The project uses the following environment variables, which should be defined in a .env
file:
GITHUB_TOKEN
: GitHub token for authenticationGITHUB_REPO
: GitHub repository URLBRANCH
: GitHub branchJSON_FOLDER_PATH
: Path to the JSON folderDATA_FOLDER_PATH
: Path to the data folderGITHUB_LINK
: GitHub linkWEB_PATH
: Web pathCLIST_API
: Clist API key
The project relies on various utility functions located in the utils
module:
create_directories(contest)
contest_crawler(contest, contest_url, page)
zip_questions(contest)
download_final_reports(contest)
combine_reports(contest)
final_report_results(contest, user_link, contest_sub)
convert_reports_to_json(contest)
upload_json_results(json_folder_path, github_repo, branch, github_token)
upload_data_file(contest_name, json_folder_path, data_file_path, data_folder_path, github_repo, branch, github_token, clist_api)
This project is licensed under the MIT License.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or suggestions.
- LeetCode for providing the platform for coding contests.
- Dolos for inspiration on plagiarism detection tools.
- All contributors and users for their support and feedback.
For any questions or inquiries, please contact Himanshu Mahajan.
plagiarism-detection
leetcode
coding-contests
web-crawler
data-processing
automation
python
github-integration
json
report-generation
Cheating-detection
github-pages