Научи английски от A1 до C2

Уроци по всички нива на CEFR — от абсолютен начинаещ до майстор на езика.

6
Нива A1–C2
36
Урока
110+
Въпроса
100%
Безплатно
A1

Начинаещ

Азбука, поздрави, числа, семейство, основни изречения.

A2

Елементарно

Present Simple, Past Simple, ежедневна лексика и описания.

B1

Средно

Present Perfect, модални глаголи, условни изречения тип 1.

B2

Средно напреднало

Passive voice, reported speech, условни изречения тип 2 и 3.

C1

Напреднало

Inversion, cleft sentences, напреднала лексика и стилистика.

C2

Майсторско

Идиоми, нюанси, академично писане, перфектен контрол.

0
Прочетени урока
0
Верни отговора
0%
Точност

Напредък по ниво

🕓 Последни резултати

Все още няма резултати.

🏆

LearnEnglish

Интерактивна образователна платформа за учене на английски език

Турнир
Провеждане на турнир 2026
Дата
26 април 2026 г.
Категория
Интернет приложения
Организатор
ВТУ „Св. св. Кирил и Методий"
За турнира

Проектът е разработен за участие в националния ИТ турнир на Великотърновски университет. Турнирът дава шанс на ученици от 8 до 12 клас да покажат своите умения в областта на информационните технологии и да получат адекватна оценка на знанията си.


👤 Автор

Енес Мюмюн Азиз
Енес Мюмюн Азиз
Разработчик

📋 Версии (Version Control)

v2.1
Финална версия 2026
UML диаграми, API спецификация, security meta tags, 110+ въпроса, flip-въпроси в EN режим, именувани тест-сетове
v2.0
Мултиезичност & тъмен режим
LangModule BG/EN, ThemeModule dark/light, CacheModule localStorage, 36 урока, прогрес по нива
v1.0
Начална версия
Основна структура: навигация, уроци A1–C2, тест с въпроси, страница за прогрес

36
Урока
110+
Въпроса
6
Нива (A1–C2)
100
Основни точки
80
Допълнителни точки
Допълнителните критерии отговарят на изисквания за професионална разработка. Основните критерии са задължителни за всички участници.
Основни критерии
100 точки
Самостоятелно интернет приложение
Сайтът е напълно самостоятелен — не разчита на външни платформи
Функционалност и логическа завършеност
Уроци, тестове, прогрес и допълнителни страници — завършена система
Удобен интерфейс
Чист дизайн, интуитивна навигация, dark mode
Яснота при използване
Всичко е на български, ясни инструкции на всяка стъпка
Цитирани източници
Страница "Източници" с всички използвани ресурси
Качество на технологичното решение15т
HTML5 семантични тагове, CSS3 custom properties, модулен JS
Използване на клиентски скриптове10т
JavaScript за навигация, quiz логика, прогрес и dark mode
Управление на изключения и грешки10т
try/catch блокове в selectAnswer(), renderQuestion() и localStorage
Използване на стриктни стандарти за код10т
"use strict", JSDoc коментари, ясно именуване на променливи
~
Сигурност и защита10т
Частично — статичен сайт без сървърна логика, но без XSS уязвимости
Представяне и защита на проекта20т
Зависи от самото представяне пред журито — 20 минути
Допълнителни критерии
80 точки
Responsive Design10т
CSS Grid и Flexbox — сайтът се адаптира към всички екрани
Използване на фреймуърк12т
Не е използван фреймуърк — чист HTML/CSS/JS
Design Patterns10т
Module Pattern — ThemeModule, LangModule, CacheModule, NavModule, QuizModule, ProgressModule
UML, DB Relationships диаграми
Не са включени диаграми
Оптимизация чрез профилинг. Кеширане
CacheModule — прогресът се кешира в localStorage и се зарежда автоматично
Мултиезичност
LangModule — пълен превод BG/EN с бутон за превключване в навигацията
Проектиране, API спецификация
Не е включена API документация
Version Control System
Не е демонстриран VCS
REST10т
Не е приложено — статичен сайт
Използване на NoSQL10т
Не е използвана база данни
Изпълнен критерий
~ Частично изпълнен
Зависи от представянето
Не е изпълнен
📖 Граматика и езикови ресурси
WEB
British Council — LearnEnglish
Граматически правила и примери за всички нива
https://learnenglish.britishcouncil.org
WEB
Cambridge Dictionary Online
Речникови дефиниции и примерни изречения
https://dictionary.cambridge.org
WEB
Oxford Learner's Dictionaries
Академична лексика, идиоми и фразеологизми
https://www.oxfordlearnersdictionaries.com
💻 Технически ресурси
DOC
MDN Web Docs — Mozilla
HTML5, CSS3 и JavaScript документация
https://developer.mozilla.org
DOC
W3Schools
Уеб стандарти, примери и упражнения
https://www.w3schools.com
FONT
Google Fonts
Шрифтове Nunito и Playfair Display
https://fonts.google.com
🏫 Учебни материали
BOOK
English Grammar in Use — Raymond Murphy
Cambridge University Press, 4-то издание
ISBN: 978-1-107-53933-6
WEB
CEFR — Common European Framework of Reference
Нивата A1–C2 и техните дескриптори
https://www.coe.int/en/web/common-european-framework-reference-languages
📐 Module Pattern — Class Diagram
«App Core» LearnEnglish v2.0 ThemeModule + toggle() + init() localStorage: theme LangModule + toggle() + init() + t(key): string + current(): string localStorage: lang CacheModule + save(data) + load(): object + clear() KEY: learnenglish_progress localStorage: JSON StateModule + init() + addLesson(id) + addQuizResult(lv,s,t) + getLessonsRead() + getQuizCorrect() uses: CacheModule NavModule + showPage(id, btn) + goToLevel(lv) + openLesson(id) + showLessonList() + filterLessons(lv) uses: LangModule, StateModule QuizModule + showList() + startSet(id) + selectAnswer(idx) + render() + next() + filterList(lv) uses: LangModule, StateModule «data» lessons[ ] — 36 items questions[ ] — 110+ items «storage» localStorage theme | lang | progress
🔄 Data Flow — Quiz Sequence
User QuizModule StateModule CacheModule Storage answer score save() JSON progress loaded on next visit
📋 Module Responsibilities
ModuleResponsibilityPattern
ThemeModuleDark/light mode toggle, localStorage persistenceSingleton
LangModuleBG/EN translation dictionary, language switchingSingleton + Strategy
CacheModulelocalStorage read/write/clear for progress dataRepository
StateModuleCentralised app state, quiz scores, lessons readSingleton + Observer
NavModulePage routing, lesson list/detail, progress renderingFacade
QuizModuleQuiz sets, question rendering, answer checking, flip logicState Machine
📘 Lesson Object lessons[ ]
{
  id:       number,       // unique lesson identifier (1–36)
  level:    string,       // CEFR level: "A1" | "A2" | "B1" | "B2" | "C1" | "C2"
  cat:      string,       // category: "grammar" | "vocab"
  title:    string,       // Bulgarian title
  title_en: string,       // English title
  desc:     string,       // Bulgarian short description
  desc_en:  string,       // English short description
  content:  HTML string,  // Bulgarian lesson body (HTML)
  content_en:HTML string, // English lesson body (HTML)
}
❓ Question Object questions[ ]
{
  q:         string,    // Bulgarian question text
  q_en:      string,    // English question text
  opts:      string[],  // Bulgarian answer options [4]
  opts_en:   string[],  // English answer options [4]
  ans:       number,    // correct answer index (0–3)
  level:     string,    // CEFR level: "A1"–"C2"
  topic:     string,    // topic tag (maps to quiz set)
  // Optional flip fields (translation questions only):
  flip:      boolean,   // true = reverse question in EN mode
  q_flip:    string,    // EN mode: asks for BG word
  opts_flip: string[],  // Bulgarian options shown in EN mode
  ans_flip:  number,    // correct index for flipped version
}
⚙️ Module Public Interfaces
ModuleMethodReturnsDescription
ThemeModuletoggle()voidSwitches light/dark theme and saves to localStorage
ThemeModuleinit()voidLoads saved theme on page load
LangModuletoggle()voidSwitches BG/EN and re-renders all UI text
LangModulet(key)stringReturns translated string for given key
LangModulecurrent()"bg"|"en"Returns active language code
CacheModulesave(data)voidSerialises progress object to localStorage as JSON
CacheModuleload()object|nullDeserialises and returns saved progress or null
CacheModuleclear()voidRemoves progress data from localStorage
StateModuleaddLesson(id)voidMarks lesson as read, saves state
StateModuleaddQuizResult(lv,s,t)voidRecords quiz score per level, saves state
NavModuleshowPage(id,btn)voidActivates page by id, highlights nav button
NavModuleopenLesson(id)voidShows lesson detail view for given lesson id
QuizModulestartSet(id)voidLoads questions for named quiz set and begins quiz
QuizModuleselectAnswer(idx)voidChecks answer, shows feedback, handles flip logic
QuizModuleshowList()voidReturns to quiz selection list view
💾 localStorage Schema CacheModule
// Key: "learnenglish_progress"
{
  lessonsRead:  number[],         // array of lesson ids read
  quizCorrect:  number,           // total correct answers all-time
  quizTotal:    number,           // total questions answered
  levelCorrect: Record<string,number>, // correct per level {"A1":3,"B2":5,...}
  levelTotal:   Record<string,number>  // total per level
}

// Key: "theme"  → "light" | "dark"
// Key: "lang"   → "bg" | "en"