/LibreLingo

🐒 🌎 πŸ“š an experiment to create a community driven language-learning platform

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

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

LibreLingo

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

Start learning! β€’ Chat with us! β€’ Become a contributor! β€’ Why I built LibreLingo β€’ Good first issues!

Project goal

My goal is to start a community-driven language-learning platform that gives its users and contributors a way to influence its future and adapt it to special requirements.

To achieve that, I release all source code under the AGPLv3 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 AGPLv3 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 synchronised across devices
  • β˜‘οΈ Course editor can be accessed by all course contributors
  • ☐ Statistics about course contributors 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
  • ☐ Course editor publicly accessible

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.

UI translation

See docs

Development and 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 use my contact details on my GitHub profile.

Confused? Have a question?

There is 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.

Articles

License

LibreLingo is licensed under the AGPL-3.0 License. Course content and other creative content might be licensed under other licenses, such as CC.

This image shows a summary of the licensing of our dependencies:

FOSSA Status

Mascot

Creative Commons License
Mascot images are released under Creative Commons Attribution-ShareAlike 4.0 International License.

The mascot is designed by @almostdesigner.

Contributors ✨

All 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

πŸ’» ⚠️

Caroline Delesalle

🎨

borbota

πŸ›

decentral1se

πŸ“– πŸ€”

James Adams

πŸ›

Arnold Schrijver

πŸ€”

Dale Visser

πŸ›

oscarfrancois

πŸ“–

dhelmr

πŸ’»

Matt

πŸ‘€ πŸ› 🚧 πŸ’» πŸ“–

Jean-AndrΓ© Santoni

πŸ€” πŸ“– 🎨

Lucas Campos Teixeira e Nascimento

πŸ“– πŸ€”

Pooja Desur

πŸ“–

Wesley Mutwiri

πŸ’»

Simon B.

πŸ€”

Karthik Shetty

🚧

Joshua Ide

πŸ’»

Jobe Dylbas

πŸ’»

DÑvid KristiÑn Luterančík

πŸ€” πŸ’»

Sai Sandeep Mutyala

πŸ’»

Artur Bauer

πŸ’»

Etza

πŸ’»

Kyle Mumma

πŸ’» πŸ€”

zinovik

πŸ’»

Himank Pathak

πŸ’» πŸ›

x4th

πŸ’»

Christian Dimas

πŸ’»

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