https://github.com/yegor256/soalition
Social Coalitions of Internet Writers
https://github.com/yegor256/soalition
ruby social social-network
Last synced: about 1 year ago
JSON representation
Social Coalitions of Internet Writers
- Host: GitHub
- URL: https://github.com/yegor256/soalition
- Owner: yegor256
- License: mit
- Created: 2018-10-07T15:14:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-13T23:45:58.000Z (about 1 year ago)
- Last Synced: 2025-03-22T21:07:26.487Z (about 1 year ago)
- Topics: ruby, social, social-network
- Language: Ruby
- Homepage: https://www.soalition.com
- Size: 418 KB
- Stars: 17
- Watchers: 3
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

[](https://www.elegantobjects.org)
[](https://www.0crat.com/p/CAZPZR9FS)
[](http://www.rultor.com/p/yegor256/soalition)
[](https://www.jetbrains.com/ruby/)
[](https://travis-ci.org/yegor256/soalition)
[](http://www.0pdd.com/p?name=yegor256/soalition)
[](https://codecov.io/github/yegor256/soalition?branch=master)
[](https://codeclimate.com/github/yegor256/soalition/maintainability)
[](https://www.sixnines.io/h/79be)
[](https://hitsofcode.com/view/github/yegor256/soalition)
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`](https://github.com/yegor256/soalition/blob/master/objects/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:
```bash
$ 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 :)