Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Приложения для изучения английских слов

Telegram bot English Learn

Бот знает следующие команды:

  • /start - активировать бота
  • any_english_word - напишите любое английское слово и получите перевод с транскрипцией и голосовое сообщение в ответ
  • /examination - сдать экзамен
  • /stat - статистика по словам с экзаменов
  • /stop - деактивировать бота

REST API

GET /vocabulary

Query example: word=resolve

Response example:

{
    "word": "resolve",
    "transcriptionUs": "|rɪˈzɑːlv|",
    "transcriptionUk": "|rɪˈzɒlv|",
    "translates": "решимость, решение, решительность, решать, разрешать, решаться"
}
POST /vocabulary

Request JSON example:

[
    "abbreviation",
    "about",
    "above"
]

Response example:

[
    {
        "word": "abbreviation",
        "transcriptionUs": "|əˌbrɪvɪˈeɪʃən|",
        "transcriptionUk": "|əˌbriːvɪˈeɪʃən|",
        "translates": "аббревиатура, сокращение, аббревиация"
    },
    {
        "word": "about",
        "transcriptionUs": "|əˈbaʊt|",
        "transcriptionUk": "|əˈbaʊt|",
        "translates": "о, об, около, по, около, меняющий курс, менять курс"
    },
    {
        "word": "above",
        "transcriptionUs": "|əˈbʌv|",
        "transcriptionUk": "|əˈbʌv|",
        "translates": "выше, более, свыше, выше, над, свыше, вышеупомянутое, упомянутый выше"
    }
]
GET /audio/uk/mp3

Query example: fileName=resolve

Response example: file resolve.mp3 (английское произношение)

GET /audio/us/mp3

Query example: fileName=resolve

Response example: file resolve.mp3 (американское произношение)

GET /learning/words/10

Response example:

[
   "his",
   "buying",
   "wednesday",
   "driver",
   "goodnight",
   "small",
   "useful",
   "linked",
   "at",
   "add"
]
POST /learning/examination

Request JSON example:

{
    "she": "она",
    "classroom": "класс",
    "level": "уровень",
    "guess": "гость",
    "buying": "купля",
    "scenery": "сцена",
    "just": "только",
    "chips": "чипсы",
    "press": "нажимать",
    "midnight": "полночь",
    "go": "идти",
    "ball": "мяч",
    "october": "октябрь",
    "board": "доска",
    "waiter": "официант",
    "cheap": "не помню",
    "from": "из",
    "next": "следующий",
    "research": "не помню",
    "pair": "пара"
}

Response example:

{
    "result": "Вы перевели правильно 16 слов(а) из 20",
    "right": [
        {
            "word": "ball",
            "answer": "мяч",
            "translate": "мяч, шар, бал, шарик, удар, шаровой, свивать, свиваться"
        },
        {
            "word": "board",
            "answer": "доска",
            "translate": "совет, борт, доска, правление, питание, садиться, столоваться, лавировать"
        },
        {
            "word": "buying",
            "answer": "купля",
            "translate": "купля"
        },
        {
            "word": "chips",
            "answer": "чипсы",
            "translate": "чипсы, кусочки, деньги, ломтики, бабки"
        },
        {
            "word": "classroom",
            "answer": "класс",
            "translate": "класс, классная комната, аудитория"
        },
        {
            "word": "from",
            "answer": "из",
            "translate": "от, из, с, судя по"
        },
        {
            "word": "go",
            "answer": "идти",
            "translate": "идти, ехать, ходить, переходить, ездить, ход, движение, попытка, ходьба"
        },
        {
            "word": "just",
            "answer": "только",
            "translate": "просто, только что, как раз, именно, точно, точный, справедливый, верный, заслуженный"
        },
        {
            "word": "level",
            "answer": "уровень",
            "translate": "уровень, ступень, ровный, ровно, вровень, выравнивать"
        },
        {
            "word": "midnight",
            "answer": "полночь",
            "translate": "полночь, непроглядная тьма, полуночный"
        },
        {
            "word": "next",
            "answer": "следующий",
            "translate": "следующий, ближайший, рядом, дальше, затем, около, рядом, около"
        },
        {
            "word": "october",
            "answer": "октябрь",
            "translate": "октябрь, октябрьский"
        },
        {
            "word": "pair",
            "answer": "пара",
            "translate": "пара, чета, партнеры, парный, спаривать, спариваться"
        },
        {
            "word": "press",
            "answer": "нажимать",
            "translate": "пресс, пресса, печать, жим, надавливание, нажимать, давить, настаивать, жать"
        },
        {
            "word": "she",
            "answer": "она",
            "translate": "она, та, которая, женщина, самка"
        },
        {
            "word": "waiter",
            "answer": "официант",
            "translate": "официант, поднос, подавальщик, кухонный лифт, вращающийся столик для закусок"
        }
    ],
    "wrong": [
        {
            "word": "cheap",
            "answer": "не помню",
            "translate": "дешевый, низкий, плохой, дешево, дешевка"
        },
        {
            "word": "guess",
            "answer": "гость",
            "translate": "предположение, догадка, предполагать, полагать, догадываться"
        },
        {
            "word": "research",
            "answer": "не помню",
            "translate": "исследование, исследовательский, исследовать"
        },
        {
            "word": "scenery",
            "answer": "сцена",
            "translate": "пейзаж, декорации"
        }
    ]
}

Запуск сервиса

Используемые технологии

  • Java 8
  • Spring Boot 2
  • Telegram Bot API
  • PostgreSQL, Liquibase, JPA, Hibernate
  • Maven, Tomcat
  • Json Jackson, Lombok, Jsoup, Slf4j, AssertJ

About

For learning English words

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages