Poly is open source, modern software to share and learn every language in the world.
Poly streamlines the process of creating and sharing dictionaries between any two languages. Speakers of languages without a written standard, including the world's more than 200 sign languages, are supported by native video functionality.
Table of Contents
- About Wikitongues
- Test 1. Staging and Production 1. Continuous Integration 1. Browser testing
- Feature map
- Request features
- PRs are accepted
- Best practices
- Code of conduct
Poly was conceived in response to a New York Times article that identified one of the last living speakers of her native language Wukchumni manually composing documentation using pen, paper and a voice recorder. Through years of dedication, Marie Wilcox produced an exhaustive dictionary of her mother language, with supplemental recordings, to be used by future generations in their revitalization efforts.
Marie's reality is not unique, and over 5% of the languages spoken in the world today are expected to have fewer than 100 speakers. We at Wikitongues resolved to provide tools to facilitate the experience of documentation.
Initial development on Poly was made possible by record-breaking a Kickstarter campaign. Thank you very much to all our backers.
In the next eighty years, 3,000 languages are expected to disappear. We won't let that happen.
Wikitongues is a platform for every language in the world. We publish oral histories and dictionaries in all of the world's 7,000 languages and develop open source technology for cultural exchange.
The Oral Histories project lives on YouTube.
Poly is written in Ruby on Rails and React.js, and uses RecordRTC for video recording. It uses a PostgreSQL database, is deployed to Heroku and uses Amazon S3 as CDN. RecordRTC relies on NPM, which in turn requires Browserify.
To install and set up this application locally, follow the steps below. For any specific questions, please email us at email@example.com.
You will need the following things properly installed on your computer:
- Ruby 2.3.0 (check what version of ruby you have by running
- NPM (Installed with Node.js)
- Bundler (run
$ gem install bundler)
- Clone or fork this repository:
git clone https://github.com/wikitongues/poly.git
- Change into the new directory.
- Install all dependencies:
bundle install && npm install
- Create a Postgres database:
To start the application locally, run:
Then, visit the app at http://localhost:3000.
To run tests:
Staging and Production
We're proud to do our live, web-based browser testing together with the awesome people at BrowserStack.
BrowserStack gives you instant access to all real mobile and desktop browsers. Say goodbye to your lab of devices and virtual machines. Go check them out!
The app is intended to be used via the UI by any person with access to a modern browser. As of February 21st, 2017, anyone will be able to create an account and start creating content.
We use semantic versioning.
For an overview of planned features and future releases, refer to ROADMAP.md.
The app requires a number of secret keys to function correctly. Features that will not work locally without keys:
- Password reset
- Video recording
We are actively looking for help developing Poly. If you're interested in getting involved, be sure to let us know!
Feature requests may be made by opening new issues and labeling them enhancements.
Note on requesting features:
PRs are accepted.
Make pull requests to have your contributions reviewed and deployed by the maintainers, or contact us directly by email at firstname.lastname@example.org.
Code of Conduct
All contributors will be held accountable to the Contributor Covenant.
TLDR: be nice. But go read it anyway.
Poly uses the GNU General Purpose License v3.
Read the license in detail here.