All Projects → mrgambal → vulyk

mrgambal / vulyk

Licence: BSD-3-Clause license
Flask/Mongo application to provide intuitive web-interface for tasks distribution

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to vulyk

pouchrobot
An AI robot to collaborate in any open source project on GitHub
Stars: ✭ 39 (+11.43%)
Mutual labels:  collaboration
binsync
A collaborative reversing plugin for cross-decompiler collaboration, built on git.
Stars: ✭ 266 (+660%)
Mutual labels:  collaboration
javascript-examples
Examples for the Convergence Real-time Collaboration Engine
Stars: ✭ 40 (+14.29%)
Mutual labels:  collaboration
awesome-dj
List of reasons why django is awesome for web development & django bootstrap boilerplate
Stars: ✭ 19 (-45.71%)
Mutual labels:  collaboration
vscode-extension
Link your code and commits to a video recording and explain your code with video.
Stars: ✭ 67 (+91.43%)
Mutual labels:  collaboration
climateconnect
The global climate action web platform. 🌏
Stars: ✭ 45 (+28.57%)
Mutual labels:  collaboration
Papernic
Open Source Document Management & Collaboration System
Stars: ✭ 247 (+605.71%)
Mutual labels:  collaboration
git-team
Command line interface for managing and enhancing git commit messages with co-authors.
Stars: ✭ 44 (+25.71%)
Mutual labels:  collaboration
open-source-contracting
Providing example language for contracts which work with open-source software and explicitly want to encourage it's growth and development.
Stars: ✭ 44 (+25.71%)
Mutual labels:  collaboration
dynamic-data-and-capabilities
[ARCHIVED] Dynamic Data and Capabilities in IPFS Working Group
Stars: ✭ 57 (+62.86%)
Mutual labels:  collaboration
CoCreate-dashboard
A simple dashboard component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.
Stars: ✭ 20 (-42.86%)
Mutual labels:  collaboration
api-service
The REST API backend server for the Jalgaon CoHelp application. Built with Kotlin Ktor.
Stars: ✭ 26 (-25.71%)
Mutual labels:  crowdsourcing
SeLite
Automated database-enabled navigation ✔️ of web applications
Stars: ✭ 34 (-2.86%)
Mutual labels:  collaboration
Links-QA
Сборная солянка полезных ссылок для QA/тестировщика. Ссылки будут постоянно пополняться.
Stars: ✭ 42 (+20%)
Mutual labels:  crowdsourcing
crowdsource-reporter
An ArcGIS Online group application template authored by organization and made available to constituents to report a problem or observation.
Stars: ✭ 25 (-28.57%)
Mutual labels:  crowdsourcing
Teleconsole
Command line tool to share your UNIX terminal and forward local TCP ports to people you trust.
Stars: ✭ 2,750 (+7757.14%)
Mutual labels:  collaboration
TeleType
Stream or share terminals over the web. Show off mad cli-fu, help a colleague, teach, or troubleshoot. end-to-end encrypted 🛡
Stars: ✭ 83 (+137.14%)
Mutual labels:  collaboration
freesound-datasets
A platform for the collaborative creation of open audio collections labeled by humans and based on Freesound content.
Stars: ✭ 129 (+268.57%)
Mutual labels:  crowdsourcing
alkemio
START HERE! Cross project collaboration and shared documentation.
Stars: ✭ 22 (-37.14%)
Mutual labels:  collaboration
easyappointments-integrations
📅 Various platform integration packages of Easy!Appointments
Stars: ✭ 29 (-17.14%)
Mutual labels:  collaboration

Crowdsourcing platform for various tasks

https://readthedocs.org/projects/vulyk/badge/?version=latest Code Climate

License

What is it?

We have a lot of tasks that can only be done manually. Those includes digitizing of scanned assets declarations, manual verification of results produced by different NLP software, stalking and so on. So, we decided to generalize those tasks a bit and build a platform with basic support for crowdsourcing using knowledge and chunks of code from the unshred.it project. We don't use anything extraordinary: Flask, MongoDB, Bootstrap, jQuery etc (all trademarks are the property of their respective owners, don't forget that).

How it's built

Vulyk itself is a platform that can be stuffed with various plugins (check this two for example).

Vulyk providing basic facilities to manage tasks, users, has simple but effective system of groups and permissions, also can load tasks in format of json lines and export results. For admin purposes we have a nice (not really) CLI tool that gives admin an access to users management, tasks management, results management, stats, etc.

Vulyk is also doing dirty job to collect assets for plugin, to provide registration/login via social networks for end users and has leaderboard.

What for?

  • digitize assets declarations of ukrainian officials for Declarations project
  • improve the current state of Ukrainian NLP by creating a simple and robust solution for various NLP tasks that require human input.
  • process and manually verify existing results from PullEnti (by Konstantin Kuznetsov) and morphological analyzer (by Andriy Rysin, Mariana Romanyshyn, et al.).
  • build tagged corpora of different kinds using manually processed results.
  • for the sake of The Great Justice of course!

But, God, how?

We provide some kind of playground, where any interested (or procrastination-addicted) person could spend some time crunching different tasks. Site will show you, mr. Solver, some tasks of a given type, which you'll need to solve.

Leaderboard is already in place!

How could I participate?

You just need to contact me [email protected] or @dchaplinsky via [email protected]. One day we'll find one brave heart who'll create a list of issues so the process will be simplified. But not now...

Running it locally

You'll need MongoDB, Python 3.5+ and virtualenv and with little bit of instructions you'll be able to run the Beast (with two real plugins)!

First of all, check out all required components:

mkdir vulyk
git clone https://github.com/mrgambal/vulyk.git
git clone https://github.com/hotsyk/vulyk-declaration.git
git clone https://github.com/hotsyk/vulyk-tagging.git

Then create virtual environment and install all three of them there in editable mode (unfortunately we don't have any of them released on PyPI yet)

mkdir sandbox
cd sandbox
virtualenv venv && source venv/bin/activate
pip install -e ../vulyk
pip install -e ../vulyk-declaration
pip install -e ../vulyk-tagging

Then let's set things up. Edit local_settings.py and add some stuff into it:

# This one only works to log in via http://localhost:5000
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ''
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ''

# This one works for both, http://localhost:5000 and http://127.0.0.1:5000
SOCIAL_AUTH_TWITTER_KEY = ''
SOCIAL_AUTH_TWITTER_SECRET = ''

# This one only works to log in via http://localhost:5000
SOCIAL_AUTH_FACEBOOK_KEY = ''
SOCIAL_AUTH_FACEBOOK_SECRET = ''

# This one only works to log in via http://localhost:5000
SOCIAL_AUTH_VK_OAUTH2_KEY = ''
SOCIAL_AUTH_VK_OAUTH2_SECRET = ''


MONGODB_SETTINGS = {
    'DB': 'vulyk',
}

ENABLED_TASKS = {
    'vulyk_declaration': 'DeclarationTaskType',
    'vulyk_tagging': 'TaggingTaskType',
}

You'll need to register you localhost app in one of social networks (and fill corresponding credentials in local_settings.py!) to make it work locally.

Then you should be able to init the app using CLI, load some tasks and run it locally.

cp `which manage.py` .  # FUgly, I know!
python ./manage.py  init declaration_task tagging_task

That'll create default user group and give users of this group an access to two task types that we've installed before.

Then:

python ./manage.py db load declaration_task --batch 01_declaration decl_tasks.json
python ./manage.py db load tagging_task --batch 01_tagging tagging_tasks.json

And finally you should create run.py and put some stuff into it:

from vulyk.app import app

if __name__ == '__main__':
    app.run()
python run.py

Then open http://localhost:5000 and you are set!

Easy, isn't it?! Well, we'll smooth some rough edges soon, we promise.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].