/LibreLingo

an experiment to create a community driven language-learning platform

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Build status This project is using Percy.io for visual regression testing. BCH compliance GitHub PageSpeed David

LibreLingo

an experiment to create a community-driven language-learning platform

Click here for live demo

Project goal

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.

Screenshots

Milestones

Here's a rough sketch of how I imagine the milestones of this project:

First demo

  • ☑️ Demo course content in Spanish for English speakers
  • ☑️ Some basic building blocks of course content implemented
  • ☑️ Developers can use course editor
  • ☑️ Basic theme/branding

Alpha release

  • ☐ 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

Beta release

  • ☐ 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

Stable release(s)

  • ☐ 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

Become a contributor

Contribute to course material

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.

Contribute to software development

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!

Other forms of contribution

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 on matrix.org
  • IRC: connect to irc.freenode.net with your favourite client and join #LibreLingo

Tech stack

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.

License

FOSSA Status

Development

Development documentation is available on Read the Docs

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Daniel Kantor

💻

Klemen Skerbiš

🤔

Mirek Mazel

🤔

Chris Babcock

🤔

Liaizon Wakest

🤔

Trolli Schmittlauch

🤔

Jérôme Deuchnord

🤔

Felix Ableitner

🐛

Navan Chauhan

🚇 💻 🎨 📖

Roshan Jossy

🤔 💻 📖

ledgelight

🤔

Francis Tyers

🤔 📖

titanix

🤔

Michael Moroni

🌍

pssandhu

🎨

Stefan Lobbenmeier

🐛

kylepollina

💻

slesingerm

🤔

iasonasma

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!