Learn new languages by reading anything you choose.
This was inspired by other site/projects like the opensource Lwt, the closed source lingq etc...
Available for Linux/Windows/Max:
the executable is Linglibre
.
https://github.com/gustavklopp/LingL/releases
After launching the app, you will need to create an account (this way, the app allows multi-accounts).
It will need python >=3.8
and Django >= 3.2
Set a virtualenv with python 3.8, then inside the virtual env:
pip install -r requirements.txt
Running the Django project:
move inside the LingL folder (where manage.py
is) and:
python manage.py migrate
python manage.py loaddata initial_fixture_USER.yaml
python manage.py loaddata initial_fixture_LANGUAGES.yaml
python manage.py runserver
then open your browser to http://127.0.0.1:8000
After launching the app, you will need to create an account (this way, the app allows multi-accounts).
There's also a superuser
account for Django admin use: it's : username: lingl
/ password: lingl
.
Maybe later if people interested.
Future versions are regularly provided.
(optional) First, backup (if you want to keep your previous data that you've created): in the menu, choose 'Backup/Restore/Delete your account' then click on 'Backup' (you can choose to backup everything or choose which words to backup).
(optional) Delete the old version folder. LingLibre
doesn't install anything on your system in fact.
Download the latest versions (see the Releases section) which fits your systems.
Launch this new version (after uncompressing it wherever you want) by clicking on the executable LingLibre
.
(optional) Restore the backup created in step '1': Create an account (whatever name you want, you're not forced to use the same than in the old version). and in the 'Backup/Restore/Delete your account', click on 'Restore' and choose the backup file that you've got in the step '1'.
(optional) same backup step 1 as the 'standalone version'.
Delete the database in 'lwt' folder named "LingL_database.sqlite3".
git pull
or download the source code. The database needs to be recreated with the same steps you've done at first (./manage.py migrate
and loading the fixtures).
launch the server (./manage.py runserver
)
(optional) same restore step 5 as the 'standalone version'.
To build LingLibre
, use CX_Freeze with the suitable platform:
python setup_LINUX.py build
on Linux
python setup_WIN32.py build
on Windows
python setup_MACOS.py build
on Mac
The build results (with the LingLibre
executable) will be in the build
folder.
Flowchart of the major Classes and Functions (Javascript and Python)
Running tests:
you need to have selenium
and factory-boy
installed (pip install selenium
and pip install factory-boy
).
1. test for "Creating and Reading a text":
./manage.py test functional_tests.selenium_text_read.Text_read
./manage.py test functional_tests.selenium_language_detail.Language_detail