GitHub Repo Analizer made of Laravel 5

in utopian-io •  7 years ago  (edited)

While discovering Utopian in depth recently we had some brainstorm about what kind of open-source projects get more attraction from contributors and how do they decide to give a hand to a project.

We assume that some contributors scratch their own itch to a certain degree while helping but also probably take multiplier effect into consideration how beneficial this effort is going to be helpful specifically for people needs this project or society in general.

Starting from there, we sought out for an simple yet powerful indicator which could give an rough estimation about multiplier effect of a project and we came up with a straight forward one which includes a project's GitHub statistics like: commits, stars, contributors, forks, commits and last update. If you are interested, keep on reading...

As we mentioned in README.md file;

Please give a hand to an open-source project, if you can! For sure, any open-source project moves our humanity and technology forward.

Please take a look at the project's homepage on GitHub here to
understand our vision.

How it works?

Basically, it has defaults but it's all customizable via .env file in the root directory as expected for a Laravel project. Defaults are listed below:

criteria.PNG

But it's not that simple. Because if we can not calculate the "score" of all the project in a row, we should create our own limits. So each row you see in the picture has steps to the top. Let's go deeper.

If we think, "subscribers" affects on the "score" just 10%;

GITHUB_SUBSCRIBERS=10       => Persentage
GITHUB_SUBSCRIBERS_LIM1=5   => 0  to 5   is 1/5
GITHUB_SUBSCRIBERS_LIM2=10  => 5  to 10  is 2/5
GITHUB_SUBSCRIBERS_LIM3=25  => 10 to 25  is 3/5
GITHUB_SUBSCRIBERS_LIM4=50  => 25 to 50  is 4/5
GITHUB_SUBSCRIBERS_LIM5=100 => 50 to 100 is 5/5

That means; we multiply the ratio (e.g. we assume that we have 6 subscribers, 2/5 = 0.4)
Persentage (10% affect) * ratio (0.4) = +4% for our "score".

We loop it for all the indicators / factors so we reach a "score" from 0 to 100. There is no way to expand the span!

Attention! There is a controlling function that makes sure that our ratio is between 0 and 1.

How to customize?

When you initialize the project in your root of your server or anywhere, it follows the default values. But you can easily create your own .env file from .env.example file with your own parameters.

If you like to change the whole algorithm, it's all happening in /project_dir/app/Http/AnalyzeController.php at AnalyzeController::analyze() function. You can customize the algorithm as you wish.

Let us know, if you like to improve it!

How it was made?

We have used some common tools.

  • Laravel v5.5
  • Bootstrap v4.0.0
  • jQuery v3.3.1
  • Font Awesome v4.7.0

Why?

We would love to target our README.md file for further information.

How to contribute?

Actually any feedback is important. Because we think that Utopian society has it's own rules for repos. So if you have an idea for working example or for whole idea, we are waiting for your contribution to make this world better with the power of open-source!

Contributors

Special thanks to my friends, who helped me to hard code it.



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hey @ikidnapmyself I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]