Skip to content

CodeHub is an open-source browser extension that automatically pushes your Codewars submissions to GitHub.

License

Notifications You must be signed in to change notification settings

febinbellamy/CodeHub

Repository files navigation

CodeHub logo

An open-source browser extension that automatically pushes your Codewars submissions to GitHub




Example of extension interface

How To Use / Demo

1. Install the Extension

Download CodeHub from the Chrome Web Store or Mozilla Add-ons.

2. Authenticate with GitHub

Click the CodeHub extension icon, then click the "Authenticate" button to connect your GitHub account.

3. Link a Repository

Connect CodeHub to an existing repository or create a new one. You can also add an optional directory path within the repository (for example: "coding_challenges/codewars"). Click the "Get Started" button when you're ready.

4. Start Coding

You're all set! Solve problems on Codewars, and your solutions will automatically sync to the linked GitHub repository after a successful submission.

For a detailed walkthrough, check out the demo video below:

Demo.mp4

Why CodeHub?

Showcase Your Problem-Solving Skills

Having a GitHub repository with your Codewars solutions highlights your dedication to learning and improving as a developer. It serves as a portfolio that recruiters and hiring managers can easily review to see your coding abilities and consistency in action. 



Track Your Progress

CodeHub organizes all of your Codewars solutions in your repository by difficulty level (6-kyu, 5-kyu, etc.). Each problem is stored in its own directory containing separate solution files for each language and a README for the problem description (example). This clear structure makes it easy to track your progress and see how much you've improved over time.



Save Time

CodeHub automates the process of committing and pushing your solutions to GitHub. Once set up, this extension will save you the time and hassle of manually copying, pasting, and uploading each solution to your repository.


Developing Locally

  1. Fork this repo and clone it to your local machine.

  2. Install Node.js and npm here.

  3. cd into the root directory of the CodeHub folder, then run the following command to build the extension:

    • For Chrome:
      node build.js
    • For Firefox:
      node build.js --firefox
  4. Load the extension in developer mode.

    • For Chrome:

      • Go to the extensions page (chrome://extensions)
      • Enable "Developer Mode" and click "Load unpacked"
      • Select the cloned CodeHub folder
    • For Firefox:

      • Go to the extensions page (about:debugging)
      • Click on "This Firefox" and then "Load Temporary Add-on"
      • Select the manifest.json file from the root directory of the cloned CodeHub folder
  5. Enjoy!


Support

We appreciate your feedback and contributions! Here’s how you can help:


Code of Conduct

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. More details can be found at this project's code of conduct.


Acknowledgements

LeetHub

After manually pushing hundreds of my Codewars solutions to GitHub, I searched for a tool to automate the process and came across LeetHub - an extension that does this for LeetCode solutions. While LeetHub wasn’t compatible with Codewars, its core functionality and UI served as an inspiration for the development of CodeHub.

Frances Coronel

A big thank you to Frances Coronel for her README template - it was a great starting point for structuring the README for this project.


Learning Resources

The resources below helped me learn how to build a browser extension: