Welcome to LangLab, an open-source foreign language learning website for language learners of all levels!
It's for practicing the conjugations of the 25 most common verbs of a target language and finding great resources you enjoy to supplement learning.
I wanted to make a website where language learners (mostly beginner-intermediate level) can practice their skills and have a home base for resources.
When I was learning French in middle school, I found it very easy to rank up my skills by quickly running through conjugations with instant feedback. Coupled with content you like watching/reading, the language learning process can become not only fun, but very efficient.
I used Python (Django) for the backend, PostgreSQL for database management, Bootstrap for the frontend, and Heroku for deployment. I'm planning on adding either Vue.js or React on top of the current stack and using Namecheap for domain registration.
After cloning the repository onto your machine, navigate to the project's directory. For this step, the ideal setup would be creating and activating a virtual environment (venv) then installing all the requirements.
Run the following commands:
- Create a venv with the name "langlab_ENV"
- Activate the venv
python -m venv langlab_ENV
langlab_ENV\scripts\activate.bat
Now, from the project directory you can run:
pip install -r requirements.txt
- Set yourself a
SECRET_KEY
insettings.py
- Make the migrations to setup the tables in your SQLite database:
python manage.py migrate
- Import all of the conjugate app data:
python manage.py shell
from conjugate import conj_db_import
conj_db_import.lang_import_all()
exit()
- Start up the app:
python manage.py runserver
Thank you! That would be great. Please feel free to send any pull requests here.