Skip to content

LeetsyncX is an automation tool that seamlessly synchronizes your LeetCode solutions with your GitHub repository.

License

Notifications You must be signed in to change notification settings

manishkandari9/LeetSyncX-3.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

83 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LeetSyncX-3.0

Effortlessly sync your coding journey to GitHub.

last_commit javascript languages

Built with the tools and technologies:

JSON Markdown JavaScript

Table of Contents

Overview

LeetSyncX-3.0 is your ultimate companion for effortlessly syncing LeetCode solutions to GitHub, streamlining your coding journey. This Chrome extension automates the process of saving your LeetCode solutions to a GitHub repository, helping you track progress and showcase your work.

Why LeetSyncX-3.0?

This project serves as a bridge for developers, automating the transfer of coding solutions and enhancing productivity. The core features include:

  • πŸš€ Seamless Integration: Effortlessly sync your LeetCode solutions to GitHub repositories.
  • 🎯 User-Friendly Interface: Manage repositories and track your progress with ease.
  • πŸ† Streak Tracking: Stay motivated with achievement badges and progress milestones.
  • πŸ’» Multi-Language Support: Handle diverse coding challenges with automatic filename generation.
  • πŸ”” Background Processing: Enjoy efficient syncing and real-time notifications without interrupting your workflow.

Features

  • Automatic Syncing: Push LeetCode solutions to GitHub with a single click after submission.
  • Progress Tracking: Monitor your coding streak and difficulty-wise problem stats (Easy, Medium, Hard).
  • Repository Management: Select or create a GitHub repository directly from the extension's popup.
  • Real-Time Feedback: Visual spinners and success/failure indicators for sync operations.
  • Multi-Language Support: Supports a wide range of programming languages used on LeetCode.

Screenshots

Below are some screenshots showcasing LeetSyncX-3.0 in action:

Popup Interface Sync Success Repository Selection
Popup Interface Sync Success Repo Selection

Note: Replace placeholder image paths with actual screenshot files after capturing them.

Getting Started

Prerequisites

  • Google Chrome Browser: Version 88 or higher.
  • GitHub Account: Required for authentication and repository access.
  • LeetCode Account: To access and sync your solutions.
  • GitHub Personal Access Token: With repo scope for API access (generated during setup).

Installation

To manually load LeetSyncX-3.0 as an unpacked Chrome extension:

  1. Clone or Download the Repository:
    git clone https://github.com/manishkandari9/leetsyncx-3.0.git
    Or download the ZIP file and extract it.
    

LeetSyncX-3.0

Effortlessly sync your LeetCode solutions to GitHub and track your progress.


Installation & Setup

  1. Open Chrome Extensions Page
    Open Chrome and go to:
    chrome://extensions/
    Enable Developer mode by toggling the switch at the top-right corner.

  2. Load the Extension
    Click Load unpacked and select the folder containing the LeetSyncX-3.0 files (e.g., leetsyncx-3.0).
    The extension should now appear in your Chrome extensions list.

  3. Pin the Extension
    Click the Extensions icon in Chrome toolbar and pin LeetSyncX-3.0 for easy access.


Usage

Authenticate with GitHub

  • Click the LeetSyncX-3.0 icon in the Chrome toolbar to open the popup.
  • Click Login with GitHub and follow the OAuth flow to authenticate.
  • This stores your GitHub access token securely in Chrome's storage.

Select or Create a Repository

  • After login, click Setup Hook to choose an existing GitHub repository or create a new one.
  • Select a repository from the list or create a new repository by providing a name and visibility (public/private).

Sync LeetCode Solutions

  • Navigate to any LeetCode problem page (e.g., leetcode.com/problems/two-sum).
  • Solve and submit your solution.
  • LeetSyncX-3.0 will automatically detect your submission and sync the solution to the selected GitHub repository.
  • A spinner indicates syncing; a green checkmark shows success, and a red cross indicates failure.

Track Your Progress

  • Open the extension popup to view your problem-solving stats (Easy, Medium, Hard) and streak progress.

πŸ§ͺ Testing

πŸ”Ή Unit Testing

  • Use popular frameworks like Jest to test individual components and functions.
  • Example: Test the buildFileName() method to ensure correct filename formatting.

πŸ”Ή Manual Testing

  • Load the extension in Chrome via chrome://extensions β†’ Load unpacked.
  • Solve a LeetCode problem and verify that your solution is pushed correctly to the chosen GitHub repository.
  • Check the extension popup for updated stats and streak information.

πŸ”Ή Edge Cases to Test

  • Unsupported programming languages or failed submissions.
  • Handling GitHub API rate limits gracefully.

⚠️ Note: Automated tests are not yet included but can easily be added using frameworks like Jest or Mocha.


β˜• Support the Project

If you ❀️ LeetSyncX-3.0, you can fuel its development and keep it thriving by buying me a coffee!

Your generous support helps cover hosting costs, add new features, and improve LeetSyncX for everyone.
Thank you for being awesome! πŸš€

🀝 Contributing

We welcome all kinds of contributions to LeetSyncX-3.0 β€” from bug fixes and features to documentation improvements and UI enhancements!

πŸ› οΈ How to Contribute

  1. Fork the Repository
    πŸ‘‰ Click here to fork

  2. Clone the Repository

git clone https://github.com/manishkandari9/LeetSyncX-3.0.git

About

LeetsyncX is an automation tool that seamlessly synchronizes your LeetCode solutions with your GitHub repository.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published