THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Daniel Kantor 4b6af13577
docs: update milestones
6 hours ago
.github chore: update issue templates 1 month ago
.semaphore refactor: rename packages/ to workspaces/ 3 days ago
branding [ImgBot] Optimize images (#410) 1 month ago
course feat: remove "alternative form" from course editor 1 day ago
course_editor feat: export alternative forms in chips challenge 1 day ago
docs feat: add some images 1 week ago
workspaces fix: fix bug with re-ordering chips in chips challenge 16 hours ago
.all-contributorsrc docs: add aschrijver as a contributor (#427) 3 weeks ago
.eslintrc.js chore: fix eslint 1 month ago
.gitattributes chore: recognize svelte as JS in github-linguist 1 month ago
.gitignore feat: export alternative forms in short input 1 day ago
.hound.yml ci: set up Percy for visual regression testing (#241) 2 months ago
.ignore refactor: introduce yarn workspaces 4 days ago
.prettierrc chore: reinstall prettier 1 month ago
CODE_OF_CONDUCT.md docs: add code of conduct 2 months ago
CONTRIBUTING.md docs: create CONTRIBUTING.md 1 month ago
LICENSE Update LICENSE 3 months ago
Pipfile chore(course editor): fix dependencies 4 weeks ago
Pipfile.lock chore(course editor): fix dependencies 4 weeks ago
Procfile add procfile 2 months ago
README.md docs: update milestones 6 hours ago
babel.config.js add some testing tools 5 months ago
commitlint.config.js Set up commitizen (#221) 2 months ago
jest.config.js add some testing tools 5 months ago
manage.py move course editor to the repo root 2 months ago
mkdocs.yml mkdocs: set repo URL 2 months ago
package.json refactor: rename packages/ to workspaces/ 3 days ago
renovate.json set up automerge 2 months ago
yarn.lock fix(deps): update dependency sirv to v0.4.6 2 days ago

README.md

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 its 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 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.

Development and other forms of contribution

Development documentation is available on Read the Docs

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.

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

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

🐛

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