an experiment to create a community-driven language-learning platform
My goal is to start a community-driven language-learning platform that gives it's users and contributors a way to influence it's future and adapt it to special requirements.
To achieve that, I release all source code under the GPLv3 free software license, which guarantees end users the freedom to run, study, share, and modify the software.
In addition to licensing the software under a free software license, the course content will be decoupled from the software itself, and the development of GPLv3 or public domain course content will be encouraged. This should allow course developers to retain the freedom to choose how they use their work.
Once course content is properly decoupled from the software, it should be possible to experiment with alternative ways of using course content: for example, the creation of audiobooks or print material.
Here's a rough sketch of how I imagine the milestones of this project:
- ☑️ Demo course content in Spanish for English speakers
- ☑️ Some basic building blocks of course content implemented
- ☑️ Developers can use course editor
- ☑️ Basic theme/branding
- ☐ Course progress can be properly syncronised across devices
- ☐ Course editor can be accessed by all course contributors
- ☐ Statistics about course controbutors are collected and published
- ☐ At least the basics of the Spanish course are ready
- ☐ Most of the course building blocks are implemented
- ☐ All of the basic building blocks of courses are implemented
- ☐ More advanced learning features (reading exercises)
- ☐ Spaced repetition implemented
- ☐ Spanish course is stable and useful
- ☐ Any user can build their own course
- ☐ Users can suggest changes to course content
- ☐ There's a marketplace for "unofficial" courses
- ☐ Multiple stable courses available
- ☐ Mobile apps available
- ☐ Wiki features
- ☐ Dictionary
- ☐ Speaking exercises
If you are interested in contributing to course development, please fill the following form: https://danielkantor196881.typeform.com/to/V00Paz. The project is in a very early stage right now, so you might not be able to contribute right away. Your work will be released in this GitHub repository and you will show up as a contributor here.
If you are interested in writing code for LibreLingo, you can simply start submitting pull requests. You can also use this form to get in touch: https://danielkantor196881.typeform.com/to/jTe9jX. You don't need to fill this form. You can just start submitting issues and pull requests if your wish!
You can help LibreLingo by testing it and submitting feature requests or bug reports: https://github.com/kantord/LibreLingo/issues/new. If you want to get in touch, you can simply the contacts on my GitHub profile.
There is also a Matrix/FreeNode IRC channel #LibreLingo
, instructions for joining:
- Matrix:
#LibreLingo
onmatrix.org
- IRC: connect to
irc.freenode.net
with your favourite client and join#LibreLingo
| Web app/PWA | Course editor |
---|---|---|
Frontend | Svelte | Django Admin* |
Backend | CouchDB |
* Djando Admin might be replaced in the future
Testing is done using Jest and Cypress. Other technology in use include: bulma, webpack, etc.
Development documentation is available on Read the Docs
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!