LiberaLingvo projekto
- Deponejo : https://framagit.org/liberalingvo
- Kurso prototypo : http://p4w5.eu/eo/dualingvo/index.html
- Pad de la projekto : https://cryptpad.fr/pad/#/2/pad/edit/5kAeL9fuwsttaGF7KsSxniaC/
Pri la projekto
La LiberaLingvo projekto temas pri programi liberan klonon de DuoLingo por lerni lingvojn. La ĉefa ideo estas ebligi ĉiujn lingvon (etajn, locajn ktp lingvojn) facile havi kurson (tio ne eblas en DuoLingo ĉar ili decidas kion lingvokurso aldoni kaj la kodo estante fermita oni ne povas libere uzi kaj aldoni lingvokursojn.
la LiberaLingvo projekto estis propono de Victor kaj Eda, kaj vere komenciĝis dum la unua Somera Esperanto-Programado (SEP : http://sep.ikso.net) de la 12-a ĝis 20-a de julio,
Kunlaboras pri tio :
- Alejandro
- Edoardo
- Eda - Edlira Nano
- Paul
- tuxayo / Victor Grousset
Ni bonvenas ĉiuj kiu volas helpi kaj kunlabori kun ni, ne nepre kun komputikistoj
Projekto deponejo
Ni havas grupon de projektoj : https://framagit.org/groups/liberalingvoralingvo
Oni povas ensaluti kun sia gitlab au github au bitbucket konto. Kiam vi havas vian uzantnomon demandu al ni kaj ni aldonas al vi la rajton esti membro/owner/dev de la grupo.
Projekto specifoj
Unua ideo estis fari tri partojn :
- La kliento = la lerna parto Ni volas ke tiu estu sendependa, memstara aplikajo, ke oni povas uzi tion sur sia komputilo sendepende de aliaj partoj (unhosted)
- La kontribejo = ejo en kiu homoj povas kontribui por aldoni kursoj (facile grafike uzebla estas por ni tre tre grava)
- Servilo por elŝuti kursojn, por segvi la kursojn reteje (kiel en DuoLingo) kaj tiel eble havi pli aŭ aliaj eblecojn en la kurso
Alia ideo : la kurso/kliento parto estas unhosted, ne estas servilo. La kursoj povas esti en tion json (simpla) formato kaj oni elŝutas la json de la kurso kaj la kliento procesas tion por generi la kurson. Ne estas vere servilo, la servilo estas retpaĝo/kliento web.
1. Kliento = lerna parto
Paul prototipo : http://p4w5.eu/eo/dualingvo/index.html Verŝajne en Django/Python.
Ni volas :
- Studi kiel funkcias Duolingo
- Vidu Inside the Duolingo Incubator https://www.youtube.com/watch?v=2FDIcf2pSws&feature=youtu.be [Paul resumo] Ili havis bonajn informaciojn en la Video: - ili traduskas la variajn tradukojn mane - ili prilaboras la raportojn de uzantoj - kaj por frekventaj plendoj donas tujan respondon kaj blokas la raporto - ŝanĝoj ne konservas en la incubator (dum 2015) [Alejandro resumo]: Kursoj havas 3 fazojn: 1a Konstrua fazo. 2a Retrokupla fazo. 3a Publikado de kurso. Ankaŭ kurskreado estas ludigita. Teamoj, oni povas vidi kio aliaj grupanoj faras kaj doni retrokuplo Babilejo por ĉiu kontribugrupo Vikio ene de la kontribuejo
- Vidu https://duolingo.fandom.com/wiki/Course_contributor_guide
- Eble fari ion malpli enua ol duolingo : ekzemple la zagreba metodo estas progressiva, ne enua, kun veraj utilaj vortoj, novaj vortoj venas regulare, sed oni ripetas malnovajn. Por helpi trovi la 1000 plej uzatajn vortojn en iu lingvo ni povas uzi :
- Ne nepre fari la saman arbon ol Duolingo kiu eble estas tro lineara. Eble fari arbon kiel reto. Aŭ pli bona, eble lasi la eblecon al homoj kiu faras la arbon fari ambaŭ kaj alia : doni ŝablonon, templates de Duolingo arbro, reta arbro, specifa personale agordita arbo. Do oni povas elekti kiun arbon generi.
- Kunlabori kun Mozilla Common Voice por preni frazojn kaj aŭdioj kaj ankaŭ kontribui se eblas (liberaj)
- Uzi frazojn de tatoeba : ttps://tatoeba.org/ (libera)
- uzi aferojn de Georg https://learn.esperanto.com/ (libera)
- uzi Anki cards (liberaj)
Vidu aliaj ne liberaj:
- la programon de Judit, learnyou (Victor kontaktas ŝin) https://learnyu.com/ (ne libera) kaj ankaŭ sian retejon https://learnlangs.com/
- https://lingopolo.org/ (ne libera)
- memrise
La kursoj povas esti en datum bazoj? aŭ tion json (simpla) formato kaj oni elŝutas la json de la kurso kaj la kliento procesas tion por generi la kurson.
Kontribejo
Devas esti fleksebla, ke homoj povas sânĝi arbrojn, fari tion kion siajn komunumo decidas, do ni bezonas ion fleksebla, ion uzantamika, ke diversaj komunumoj povas adapti.
Kiel teknologiaĵoj uzi?
Python/Django
Ni ĉiuj estas lertaj en Python do Python/Django framework estus bona.
- Resursoj kun Python/Django: https://github.com/silviolleite/django-pwa https://medium.com/beginners-guide-to-mobile-web-development/convert-django-website-to-a-progressive-web-app-3536bc4f2862
Webprogressive
Ni volas fari webprogressive apon
- Vidu: https://www.packtpub.com/application-development/progressive-web-application-development-example
- [Alejandro] Mi jam komencis tralegi ĝin. Mi trovas la enkondukon iomete kaosa kaj ke ĝi ne bone priskribas la koncepton de PWA. Mi rekomendas legi unue la menciitan artikolon de Alex Russell: https://mallonge.net/pwa
Dezajni API-n
[Alejandro] Elekti framon (framework). Ni jam elektis Python/Django por la kliento/servilo sed por la servila parto eĉ ni povus elekti:
Django REST Framework. [Alejandro]: Plej taŭga por eviti plialtigi la nombro de lingvoj uzata (gravas por akiri kontribuanto). Ankau estas altkvalita kaj kun retpaĝa interfaco kiu helpas dum programado kaj dokumentado.
Flask RESTful. [Alejandro]: Ankaŭ estas fama por krei REST API-n en Python komunumo.
Webassembly
Ĉu uzi webassembly? https://en.wikipedia.org/wiki/WebAssembly WebAssembly (often shortened to Wasm) is an open standard that defines a portable binary code format for executable programs, and a corresponding textual assembly language, as well as interfaces for facilitating interactions between such programs and their host environment. The main goal of WebAssembly is to enable high performance applications on web pages, but the format is designed to be executed and integrated in other environments as well.
Laǔ tion kion ni aŭdis de Joop, webassembly estus bona kiam oni volas uzi bibliotekojn kiu faras precizajn aferojn. Webassembly estas bone uzebla kun C, C++ kaj Rust, ne tion kun Python kaj Ruby ...
[x] vidu se en progressive webapp oni povas elŝuti kaj uzi sen reto Joop: jes, tion ĝi eĉ aŭtomate faras se oni tiel konfiguras. Oni devas kalkuli je tio dum la programado.
[ ] vidu elektron instal
[ ] vidu memrise : por la kontribuejo (oni povas ĉi tie kontribui kursojn)
Kion ni povas fari
Edoardo : uzant-interfaco, grafizmo Alejandro : programisto, iom da ĉiu, vidu CSS gridlayer Paul : programisto Eda : programisto, algoritmo serĉado, optimizado, datum analizoj, memory oprimizado ktp Victor/tuxayo : programisto