🌐 https://teplokotov.github.io/vk-test-app/
Одностраничное веб-приложение состоит из двух панно (panel):
- Панно "Интересные факты" содержит блок с кнопкой и текстовым полем. По нажатию на кнопку выполняется запрос к https://catfact.ninja/fact. Полученный факт записывается в текстовое поле. Курсор устанавливается после первого слова.
- Панно "Мой возраст" содержит форму с текстовым полем и кнопкой отправки. Пользователь вводит своё имя в текстовом поле. По истечении 3-х секунд после ввода имени или при отправке формы выполняется запрос к https://api.agify.io/ с введенным именем в параметре name. Ответом будет возраст человека, определенный по имени. Этот ответ отображается под текстовым полем.
- Предусмотрено предотвращение дублирующих запросов (запрос с таким же именем не отправляется).
- Предусмотрена отправка следующего запроса до того, как текущий был обработан. Запрос прерывается, чей ответ нам уже не нужен (частый кейс при медленном интернете).
- В работе использована библиотека VKUI.
- Реализована валидация поля ввода имени (имя может состоять только из латинских букв).
- Приложение также развернуто в виде мини-приложения ВКонтакте.
- Клонируйте проект
git clone https://github.com/teplokotov/vk-test-app.git
- Перейдите в директорию проекта
cd vk-test-app
- Установите модули
npm install
- Запустите проект
npm run dev
- Откройте страницу
http://localhost:5173
- VS Code
- Git Bash
- Vite
- React 18.2
- TypeScript
- VKUI
- Филипп Добриков
- philipp.dobrikov@yandex.ru
- https://t.me/hello_philipp