codeuino / codebadge-backend

GNU General Public License v3.0
15 stars 23 forks source link

About Codebadge

Online Status Build Status Language Count License

Well we all have been working in Open Source and committing various Pull requests and issues. Many a times it may happen that a mentor is unable to manage all these activities. So This project is about tracking the contributor as well as its contribution by respective mentors.

CodeBadge is a project which takes official GitHub API into consideration and makes a fading badges graph for each organization. This project would be organization-oriented project i.e. each organization will need to serve it on a reserved route, say /codebadge. For eg: If coala wants to integrate CodeBadge, they’ll serve this project on coala.io/codebadge. Our aim is to make CodeBadge as a standard such that people start using it as a measure in order to test their skill level/track their progress in a specific community. For eg, Competitive Coding guys test their skills by asking each other what’s their rank on HackerRank / HackerEarth! Likewise, open-source contributors should start asking, Hey! What badge did you recently earned on CodeBadge!

Why do we need CodeBadge?

Features

The other part of this project includes the “notifying moderator” since we see sometimes that there are many PRs being sent, or issues being opened by various people across the globe but there are limited numbers of maintainers merging the PRs. This way organizations usually lose their potential contributors due to following things:

How does it work

For instance, suppose a contributor “X” has been quite active within the community by working on various PRs, opening and resolving various issues, active on chat channels but after a month “X” gets disappeared. So by using this dashboard they will have a badge interface. There will be a badge attached in front of the name of the contributor. This badge will have a unique color so as time passes (a day, 1 week, 2 weeks, a month, etc) this badges will keep on fading. Every fade color will have a unique reason. For example, when a contributor made a PR, the badge appeared “Red” in color. This badge will remain in the same color as long as he/she is contributing. If that contributor stops contributing and has not contributed for a week so his badge will become green in color. And this will notify maintainers or admins about their disappearance. This way the organizations will have greater eye on the contributors and can help them maintain their community.

Setting up the project

To set up the project, carry out the following steps:

Step 1:- fork the repository

Step 2:- clone the repository

git clone https://github.com/username/Codebadge.git

Step 4:- install flask api dependencies and run api

cd backend
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
FLASK_APP=run.py flask run

Stack used

Codebadge has a dashboard, where these badges are placed. Any stack could be used but since the organizations have fixed stacks its better to stick with Nodejs, Vue, and React.

Benefits to the community

Different communities or programs like GirlScript Summer of Code, Codeheat, GSOC, etc would be able to track their contributors and this project will help them by not losing potential contributors and select the best from all potential candidates.

Contributions Best Practices

Commits

Community

All feedback and suggestions are welcome!