Skip to content

Commit

Permalink
Merge pull request #78 from CaptainFact/staging
Browse files Browse the repository at this point in the history
Release 0.8.1
  • Loading branch information
Betree authored Feb 7, 2018
2 parents 51a514c + 5d0fc36 commit f182b93
Show file tree
Hide file tree
Showing 84 changed files with 789 additions and 400 deletions.
1 change: 1 addition & 0 deletions .idea/captain-fact-frontend.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added app/assets/assets/achievements/ambassador.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/ambassador.mp4
Binary file not shown.
Binary file added app/assets/assets/achievements/bug.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/bug.mp4
Binary file not shown.
Binary file added app/assets/assets/achievements/bulletproof.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/famous.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/famous.mp4
Binary file not shown.
Binary file added app/assets/assets/achievements/help.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/robot.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/robot.mp4
Binary file not shown.
Binary file added app/assets/assets/achievements/socialAddict.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/socialAddict.mp4
Binary file not shown.
Binary file added app/assets/assets/achievements/trump.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/welcome.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/assets/achievements/welcome.mp4
Binary file not shown.
4 changes: 4 additions & 0 deletions app/assets/assets/help/en/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Here are some resources if you want to learn more about the project and its roots:

* [[Medium] The urge for a collaborative, real-time fact checking platform](https://medium.com/@Betree83/the-urge-for-a-collaborative-citizen-fact-checking-platform-a0ce035bc608)
* [Presentation during TEDxNouméa 2017](https://www.youtube.com/watch?v=Qq3cars_Dxs&list=PLEYPdIZ3hjAFZGLpsaZBWT4f8zWsBSeR1)
36 changes: 12 additions & 24 deletions app/assets/assets/help/en/achievements.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,26 @@
Want to contribute on achievements graphics ? Check [this](https://github.com/CaptainFact/captain-fact-frontend/issues/6)!
> CaptainFact achievements bring you health, joy and love.
Achievements are still a work-in-progress and not all of them are implemented yet.

## Common achievements

Common achievements are meant to help you discover the different parts of the site.
# Common

* `🎉 Welcome` You successfully joined the community, welcome !
* `🤖 Not a Robot` Confirm your email
* `🎸 Help !` You read a help page for the first time
* `🛡️ Bulletproof` Install the browser extension
* `💉 Social Addict` Connect or link your account with third party (Facebook)

# Rare

## Special achievements

* `🐅 Fact's tamer` First fact with +5 votes
* `👍 You made a point` First comment with +5 votes


## Rare achievements

* `🔝 Hit Machine` One of your facts or comments get +30 upvotes
* `✍️ Scribe Master` Transcribed more thant 30 statements
* `🚿 The cleaner` 10 of your flags have been confirmed
* `👻 Ghostbuster` you [report a bug](/help/bug_report) that gets confirmed
* `🌟 Fact Check Me, I'm Famous` You made your way up to the monthly leaderboard

# Legendary

## Legendary achievements

* `👴 Old and Wise` 5 facts with over +50 upvotes
* `🌟 Fact check me, I'm famous`
* `You're fake news!`
* `🏴‍☠️ Born to hack` You responsibly report us a security breach that gets confirmed
* `📁 Ambassador` You helped the project in a unique way

----------------------

## Secret achievements
# Credits

Some achievements are not listed here.
* [U Maja](https://society6.com/rabbitball) for the Bulletproof achievement
* Want to contribute ? Checkout [this link](https://github.com/CaptainFact/captain-fact-frontend/issues/6)!
10 changes: 5 additions & 5 deletions app/assets/assets/help/en/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# I found a bug (or worst, a security breach !)
# You found a bug or worst, a security breach ?

Please [contact us](mailto:bug-report@captainfact.io) with as much details as you can.
We believe in responsive disclosure and encourage it.

Please [contact us](mailto:bug-report@captainfact.io) with as much details as you can, we believe
in responsive disclosure and encourage it.

Also join your CaptainFact username, you may get a reward ;)
Also join your CaptainFact username, you may get a
rare [achievement](/help/achievements)!
12 changes: 6 additions & 6 deletions app/assets/assets/help/en/censorship_requests.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Free speech policy

CaptainFact embraces the view of freedom of speech as a true right, even when what's being said really bother us.
It means that as long as your comment is related to the topic being discussed (no spam) and that you don't attack someone
personally, you can speak freely.
It means that as long as your comment is related to the topic being discussed (no spam)
and that you don't attack someone personally, you can speak freely.

As much as most of us may reject racism, sexism or any other forms of discrimination we believe
**it's not our role to do the police**. With CaptainFact people can vote to sort the comments based
As much as most of us may reject any forms of discrimination we believe
**it is not our role to do the police**. With CaptainFact people can vote to sort the comments based
on their quality, thus filtering biased and not properly argued speeches without the need for
censorship.

Furthermore we believe that to convince someone, you first have to hear and understand what he / she
may have to say. There's no point in refusing a debate because of a too wide difference in opinions.
may have to say.

# Censorship requests

**That being said** we also have, as a social platform, legal obligations to conform with the local
laws of the countries we're implanted in. To deal with that, censorship requests should be addressed
to [censorship@captainfact.io](mailto:censorship@captainfact.io). **We will not accept anonymous
requests** and all of them will be **publicly displayed**.
requests** and all requests will be **publicly displayed**.
9 changes: 0 additions & 9 deletions app/assets/assets/help/en/code_of_conduct.md

This file was deleted.

7 changes: 2 additions & 5 deletions app/assets/assets/help/en/contact.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
You can reach us on:
You can reach us in English or French:
* [Gitter (chat)](https://gitter.im/CaptainFact)
* [Mail](mailto:contact@captainfact.io)
* [Facebook](https://www.facebook.com/CaptainFact.io)
* [Twitter](https://twitter.com/CaptainFact_io)
* [Github](https://github.com/CaptainFact)
* [Mail](mailto:contact@captainfact.io)

Please write us in English or French and give as many details
as you can if you're making a bug report.
17 changes: 11 additions & 6 deletions app/assets/assets/help/en/contribute/code.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
You can check [our Github](https://github.com/CaptainFact) to see where you can contributes.

# API

* Stack: Elixir + Phoenix
* Status: Not open sourced yet (very soon, we're just waiting for the code reviews on it to be over)
* Stack: Elixir, Phoenix, GraphQL
* Status: Not open sourced yet (waiting for code reviews & documentation)
* Repository: *TODO*
* Issues: *TODO*

Expand All @@ -16,7 +14,14 @@ You can check [our Github](https://github.com/CaptainFact) to see where you can

# Browser Extension

* Stack: React, Redux
* Stack: React
* Status: Open source (AGPL3)
* Repository: https://github.com/CaptainFact/captain-fact-extension
* Issues: https://github.com/CaptainFact/captain-fact-extension/issues
* Issues: https://github.com/CaptainFact/captain-fact-extension/issues

# Video overlay injector

* Stack: React, Redux
* Status: Open Source (AGPL3)
* Repository: https://github.com/CaptainFact/captain-fact-overlay-injector
* Issues: https://github.com/CaptainFact/captain-fact-overlay-injector/issues
23 changes: 5 additions & 18 deletions app/assets/assets/help/en/contribute/graphic.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,8 @@
CaptainFact is looking for graphic designers who feel inspired by this project. Check below to see how you can
contribute !
# Gamification / Achievements

## Achievements
Check [this link](https://github.com/CaptainFact/captain-fact-frontend/issues/6)

CaptainFact has a strong gamification aspect. We want to make it pleasant to contribute and reward users bringing
positive content. One of the ways to achieve that is achievements, like the ones you see in video games. We need them to
be creative and fun, so the main rule here is to take pleasure in what you do ;)
# Everything else

For details about which achievements are currently open to submissions, technical constraints and license stuff checkout
[this Github issue](https://github.com/CaptainFact/captain-fact-frontend/issues/6).

## UI / UX

Though we have graphic designers working from time to time on small aspects of the project (logo...etc) we currently
don't have a "main" graphic designer. Your experience, advices and contributions on the website & extension UI / UX would be extremely valuable.

## Ideas

We're a collaborative project. You have an idea about something incredible we should implement, or how to implement it ?
Contact us or open an issue on our Github!
You can also [contact us](/help/contact) if you're not comfortable with Github or
if you want to bring another subject.
17 changes: 14 additions & 3 deletions app/assets/assets/help/en/contribute/translate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
Helping to translate CaptainFact doesn't require any technical skills. We would love having Spanish, German or Chinese
integrated.
Helping to translate CaptainFact doesn't require any technical skills, it's just a matter
of replacing strings in files.

If you're interested in translating the project in your own language, be sure that all contributions will be welcomed!
#### If you're comfortable with git

1. Fork the [repo](https://github.com/CaptainFact/captain-fact-frontend)
2. Edit or create files in `app/assets/assets/locales/${YOUR_LOCALE}/${namespace}.json`
to translate the user interface
3. Edit or create files in `app/assets/assets/help/${YOUR_LOCALE}/${page}.md` to translate help pages
like this one
4. Make a pull request against `staging` branch

#### If you don't know what the heck git is about

[Contact us](/help/contact) and we'll send you the files along with instructions.
6 changes: 2 additions & 4 deletions app/assets/assets/help/en/credits.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,5 @@ CaptainFact has grown on upon the soil of many great open source projects such a
* [Redux](http://redux.js.org/)
* [adorable.io](http://avatars.adorable.io/) for their great consistent avatar service (the funny faces
you see if you don't set your own profile picture)


And the Wikimedia foundation for all the speakers pictures and other metadata. You
can find more info about this part on [our data repository](https://github.com/CaptainFact/captain-fact-data).
* The Wikimedia foundation for all the speakers pictures and other metadata. You can find more
info about this part on [our data repository](https://github.com/CaptainFact/captain-fact-data).
43 changes: 40 additions & 3 deletions app/assets/assets/help/en/extension.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,41 @@
# Can I participate directly on videos using the extension ?
# Installation

The application is available on the
[Chrome Web Store](https://chrome.google.com/webstore/detail/captainfact-beta/fnnhlmbnlbgomamcolcpgncflofhjckm)
and for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/captainfact/)

# Source code

CaptainFact's extension is fully open sourced (GPL3/AGPL3). The main repository is available here:
* https://github.com/CaptainFact/captain-fact-extension

The extension also make use of another internal project which injects facts into HTML videos in javascript:
* https://github.com/CaptainFact/captain-fact-overlay-injector

# FAQ

## Why do you need storage permissions ?

We store a local cache of videos ids that exist on CaptainFact. This cache gets updated when you visit Youtube
if it's older than 15 minutes. This is a privacy improvement that guarantees we don't track the videos you're
watching and don't send unnecessary requests.

## Why do you need tabs permissions ?

Because we inject script programmatically from background (only if video is known from cache) and
to be able to disable CaptainFact on all tabs when you unselect it from extension popup.

You can check by yourself in `chrome/extension/background.js` (look for `chrome.tabs.`)

## Why do you need Youtube permissions ?

To be able to inject the facts overlay on Youtube videos.

## Why do you only inject on youtube.com and not in embedded players everywhere else ?

We may want to implement this in a separate release in the future. We don't want to implement
this feature in main extension cause it means asking for permissions to access all your sites.

## Can I add sources on videos directly from the extension ?

Not at the moment.

Not at the moment.
58 changes: 21 additions & 37 deletions app/assets/assets/help/en/moderation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
> If you encounter a troll, vote it down and don't feed it.
The flagging system allows you to report inappropriate content. You're allowed a small number of
flags each day and should use them carefully; Using flags inappropriately can make you loose a lot
of [reputation](/help/reputation).
Expand All @@ -10,69 +12,51 @@ illegal in your country, please use the [censorship request procedure](/help/cen


* Spam or commercial content

Anything that has nothing to do with the subject, that tries to sell something or link to
undesirable content


* Rude language

This includes the use of sexualized language. Confronting opinions can sometimes be emotionally
powerful, but try to stay polite.


* Rude language
* Personal attack or harassment

You should always attack the ideas, not the people. Anything like "Are you stupid ?" or mothers
jokes will not be tolerated. We don't attack moms, never.

If a troll upsets you vote it down and don't feed it.


# Collective moderation

Your flags are then reviewed by users with a high reputation that will decide if the flags are justified or abusive.
Depending on how strong their consensus is, you will gain or loose more or less reputation.
Your flags are then reviewed by users with a high reputation that will decide
if the flags are justified or abusive.
The strength of the sanction depends of the moderators consensus strength.

## Moderators feedback

For each reported comments, moderators have 3 choices:
For each reported action, moderators have 3 choices:

* Confirm flag
* Not sure
* Abusive flag

## Rules

We need at least 3 moderators to vote before taking a decision. Then we generate a score:
We need at least 3 moderators to vote before taking a decision.
Then we generate a score between -1.0 and +1.0:

```
score = (nb_confirm - nb_abuse) / total_feedbacks
```
<br/>
Which generates a score between -1.0 and +1.0.


* If `score <= -0.66` => Abusive flag
* If `score >= 0.66` => Confirm flag
* Else => Wait to have more feedbacks

<details>
<summary>Examples</summary>
<ul>
<li>2 confirm + 1 not sure = 2 * 1 + 0 = 2 => Confirm</li>
<li>1 confirm + 2 not sure = 1 + 0 + 0 = 1 => Re-ask with more moderators</li>
<li>1 confirm + 2 abusive = 1 - 1 - 1 = -1 => Re-ask with more moderators</li>
<li>2 abusive + 1 not sure = 2 * (-1) + 0 = -2 => Abusive flag</li>
</ul>
</details>
#### Examples

* 2 confirm + 1 not sure = 2 * 1 + 0 = 2 => Confirm
* 1 confirm + 2 not sure = 1 + 0 + 0 = 1 => Re-ask with more moderators
* 1 confirm + 2 abusive = 1 - 1 - 1 = -1 => Re-ask with more moderators
* 2 abusive + 1 not sure = 2 * (-1) + 0 = -2 => Abusive flag

## Reputation updates

We update reputations depending on this score. But to be fair and not penalize users when decisions are complicated,
we first determine the strength of the moderators consensus with:
We update reputations depending on this score. But to be fair and not penalize
users when decisions are complicated, we first determine the strength of the moderators consensus
with a formula that gives us a value between 0.0 and 1.0 that we use to ponderate reputation
gain or loss:

```
consensur_strength = (abs_score - min_val) * (1 / (1 - min_val))
consensus_strength = (abs_score - min_val) * (1 / (1 - min_val))
```
<br/>
Which gives us a value between 0.0 and 1.0 that we use to ponderate reputatin gain or loss.
25 changes: 8 additions & 17 deletions app/assets/assets/help/en/privacy.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,11 @@
# About my privacy
We will **never** sell your personal data and we don't have much to sell anyways: we don't
collect stuff that we don't need to run the site.

## Website
However, you should consider all your interactions (voting, commenting, flagging...) as **public**.
You're free to use your real name or just a simple good'old username.

We will **never** sell your personal data (email, name...etc).
However, you should consider all your interactions (voting, commenting, flagging...) as public.

Also, we don't use any external tracker nor do we implement any social network buttons.
The only external code we run here is the one for the video player.
Though nothing is infallible, we care about security and we try to follow the best practices to
ensure your data stay as safe as possible.

## Extension

You can select whether or not you want to activate videos overlay in one click, using the extension
popup.

<!-- TODO: Add screenshot -->

If you do activate it, the extension will send a request to CaptainFact from time to time to sync available videos.

**We do not log nor record the videos you're watching.**
To learn more aboute the browser extension privacy policy, follow
[this link](/help/extension).
Loading

0 comments on commit f182b93

Please sign in to comment.