E-lerno is a modern, full-stack language learning application built with Django. It provides a structured approach to learning vocabulary and completing lessons categorized by language levels (A1, A2, B1).
- Personalized Dashboard: Track your daily progress and manage your active vocabulary lists.
- Level-Based Learning: Content organized into standardized language levels (A1, A2, B1).
- Comprehensive Vocabulary:
- Word translations, types (noun, verb, etc.), and examples.
- Progress tracking with review intervals.
- Systematic data import support.
- Interactive Lessons: Structured lessons linked to specific vocabulary lists.
- User Profiles: Customizable profiles with support for profile pictures and daily learning targets.
- Secure Authentication: Robust authentication system using Django Allauth.
- Backend: Django 6.0 (Python)
- Frontend: Bootstrap 5.3, Vanilla JavaScript, CSS
- Database: SQLite3
- Authentication: Django Allauth
- Image Processing: Pillow
-
Clone the repository:
git clone https://github.com/Group-Projects-FIAE/sprach-lernen-app.git cd sprach-lernen-app -
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run migrations:
python manage.py migrate
-
Create media folder (for profile pictures):
mkdir -p media/profiles # Linux/Mac # On Windows: mkdir media\profiles
-
Import initial vocabulary data (Curated lists):
python manage.py import_vocab A1.json python manage.py import_vocab A2.json python manage.py import_vocab B1.json
Note:
german_words.jsonis provided for testing purposes only. -
Start the development server:
python manage.py runserver
vocab/: Manages vocabulary lists, words, and user progress.lessons/: Handles structured learning modules.users/: Custom user profiles and authentication logic.templates/: Centralized storage for HTML templates and static assets.media/: Storage for user-uploaded profile pictures.
For more detailed information on data population, refer to the Vocabulary Data Import Guide.