yegor256 / soalition

Social Coalitions of Internet Writers
https://www.soalition.com
MIT License
17 stars 0 forks source link
ruby social social-network

EO principles respected here Managed by Zerocracy DevOps By Rultor.com We recommend RubyMine

Build Status PDD status Test Coverage Maintainability

Availability at SixNines Hits-of-Code

It's a social coalition management web app for online writers.

Each soalition (social coalition) is a group of Internet writers interested in helping each other promote the same idea. They all write regularly and want others in the group to share their content. In exchange they are willing to share their content too.

Everybody has a score inside a soalition, which is calculated by the formula (see method score() in soalition.rb):

S = R + (3 - |P - 3|) x M

Here, R is the number of reposts a member of the group did in the last 90 days, P is the number of posts a member shared with the group in the same period of time, and M is the number of members currently in the group.

The formula conveys the idea that each repost is a positive contribution, while only the first three posts are positive. All other posts, which go above the first three lower the score. In other words, to keep the score positive a member of the group has to post once a month and repost all content shared by other members.

How to contribute

You will need Java 8, Maven 3.2+, Ruby 2.3+, Bundler.

Just run:

$ rake

To run a single test first run this, in a separate terminal:

$ rake pgsql liquibase sleep

This will start a PostgreSQL database, fill it up with the schema and stay waiting. Then, in another terminal:

$ ruby test/test_soalition.rb

Should work :)