Giter Club home page Giter Club logo

librelingo's Introduction

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

LibreLingo

a community-owned language-learning platform

πŸ’¬ Chat β€’ πŸ‘©β€πŸ’» Contribute! β€’ πŸ’΅ Sponsor β€’ πŸ“„ Development docs β€’ ☎️ Schedule a call about Librelingo

About LibreLingo

LibreLingo's mission is to create a modern language-learning platform that is owned by the community of its users. All software is licensed under AGPLv3, which guarantees the freedom to run, study, share, and modify the software. Course authors are encouraged to release their courses with free licenses.

If you want to know why I built LibreLingo, I recommend reading my article. If you agree with LibreLingo's mission, consider helping to build and maintain it, and please consider making a monetary contribution.

Table of Contents
  1. About LibreLingo
  2. Platform
  3. Milestones
  4. Attributions
  5. Articles
  6. Become a contributor
  7. See also

Platform

Web app

The LibreLingo web app is a lightweight, interactive web app for learning foreign languages using LibreLingo courses.

Features:

  • 🎯 practice using interactive exercises
  • πŸ—“οΈ spaced repetition
  • πŸ’Ύ save and monitor progress
  • πŸ” synchronise progress across multiple devices
  • πŸ“± works on various devices such as phones, tablets and desktop computers

Screenshots

librelingo-yaml-loader

librelingo-yaml-loader is a Python 🐍 package that lets you load LibreLingo courses to create software based on LibreLingo.

To see an extensive tutorial, check out this article.

Setup

librelingo-yaml-loader can be installed using pip:

pip install librelingo-yaml-loader

Loading courses in a Python program

You can use librelingo-yaml-loader to load YAML-based LibreLingo courses in your Python program.

from librelingo_yaml_loader import yaml_loader

course = yaml_loader.load_course("./path/to/my/course")

load_course returns a Course() object

librelingo-json-export

librelingo-json-export is a Python 🐍 package that contains modules that let's you export LibreLingo courses into JSON files that will be read by the web app. This might be useful if you want to deploy YAML-based LibreLingo courses as a web app.

Setup

librelingo-json-export can be installed using pip:

pip install librelingo-json-export

Exporting courses to JSON

librelingo-json-export has a command line program that can export YAML-based LibreLingo courses into the JSON format used by the web app.

Usage: cli.py [OPTIONS] INPUT_PATH OUTPUT_PATH

  Convert a YAML course into a JSON course.

Options:
  --dry-run / --no-dry-run
  --help                    Show this message and exit.

Milestones

Current focus

Make it possible to contribute to courses through GitHub

  • 🏁 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 synchronised across devices
  • 🏁 Course editor can be accessed by all course contributors
  • 🏁 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
  • 🏁 Spaced repetition implemented

Become a contributor

🌍 UI translation

πŸ“– Course content

πŸ‘©πŸΎβ€πŸ’» Development

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

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

Attributions

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

πŸ’»

Marco Ciampa

πŸ›

Joshua | DC7IA

πŸ›

Reyzadren

πŸ€”

Andreas

πŸ“–

Marco H

πŸ–‹

Dan OReilly

πŸ€”

Douglas Ferlini

πŸ’»

Michael Nock

πŸ’» πŸ€”

davidak

πŸ€”

adnan360

πŸ–‹ πŸ€” πŸ“–

Lamdarer

πŸ“–

Luther

πŸ€”

Nart Tlisha

πŸ›

Binyamin Aron Green

πŸ“–

StΓ©phane Guillou

πŸ€”

Mohammad-Ali A'RΓ‚BI

πŸ–‹

RGBradley

πŸ–‹

Cameron Radmore

πŸ–‹ πŸ’»

Zeb Burke-Conte

πŸ“– πŸ’» πŸ›

Florian CUNY

πŸ€”

uberstar100

πŸ€”

Gabe D

πŸ› πŸ’»

Ekaterina Mozheiko

πŸ’»

Gerardo Alcantara

πŸ’»

JP Damas

πŸ’»

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

See also

  • omnilingo, listening-based language learning

librelingo's People

Contributors

adnan360 avatar airon90 avatar allcontributors[bot] avatar arturba avatar decentral1se avatar dependabot[bot] avatar dhelmr avatar doamatto avatar douglasferlini avatar fossabot avatar gdomingu avatar gkydev avatar iasonasma avatar imgbot[bot] avatar imgbotapp avatar joshyide avatar kantord avatar lamdarer avatar navanchauhan avatar oscarfrancois avatar panditita avatar radmorecameron avatar renovate-bot avatar renovate[bot] avatar rgbradley avatar roshanjossey avatar theevilskeleton avatar wesleymutwiri avatar zinovik avatar zmbc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.