{"id":15844489,"url":"https://github.com/elrouss/virtual-keyboard","last_synced_at":"2026-04-28T08:32:29.085Z","repository":{"id":160360935,"uuid":"633902588","full_name":"elrouss/virtual-keyboard","owner":"elrouss","description":"Виртуальная клавиатура","archived":false,"fork":false,"pushed_at":"2023-05-08T12:32:22.000Z","size":4677,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T17:53:40.331Z","etag":null,"topics":["brainstorm","elrouss","javascript","rolling-scopes-school","scss","virtual-keyboard"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elrouss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-28T14:44:14.000Z","updated_at":"2023-09-28T06:45:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8bb6eb4-643e-4974-9119-583ea599aa7d","html_url":"https://github.com/elrouss/virtual-keyboard","commit_stats":{"total_commits":27,"total_committers":1,"mean_commits":27.0,"dds":0.0,"last_synced_commit":"d4eadd7ee3a0ba580fe7fcd50e2176225dc8f409"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elrouss/virtual-keyboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Fvirtual-keyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Fvirtual-keyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Fvirtual-keyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Fvirtual-keyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elrouss","download_url":"https://codeload.github.com/elrouss/virtual-keyboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Fvirtual-keyboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32373498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brainstorm","elrouss","javascript","rolling-scopes-school","scss","virtual-keyboard"],"created_at":"2024-10-05T17:22:46.082Z","updated_at":"2026-04-28T08:32:29.067Z","avatar_url":"https://github.com/elrouss.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Учебное задание: \"Виртуальная клавиатура\"\n\n![Главный экран с демонстрацией основного функционала виртуальной клавиатуры](https://user-images.githubusercontent.com/108838349/235540103-9129b690-07a8-4105-9fdd-f43fbf9843bc.gif)\n\n## 1. Описание\nЗадание выполнено в рамках курса [\u0026laquo;JavaScript/Front-end\u0026raquo;](https://rs.school/js/) RS School. Задачей стояло создание виртуальной клавиатуры с версткой и функционалом, написанными на нативном *JavaScript*. По условию задания запрещено использование любых *JS* и *UI* библиотек, *фреймворков (Angular/Vue/React)*, работа в файле *index.html*. Оценка выставлялась однокурсниками (cross-review).\n\n**Ссылка на задание:** https://github.com/rolling-scopes-school/tasks/blob/master/tasks/virtual-keyboard/virtual-keyboard-en.md\n\n**Ссылка на деплой:** https://elrouss.github.io/virtual-keyboard/\n\n## 2. Стех технологий\n![Иконка JavaScript](https://img.shields.io/badge/JavaScript-323330?style=for-the-badge\u0026logo=javascript\u0026logoColor=F7DF1E)\n![Иконка Sass (SCSS)](https://img.shields.io/badge/Sass-CC6699?style=for-the-badge\u0026logo=sass\u0026logoColor=white)\n\n## 3. Установка и запуск приложения в локальном репозитории\n1. `https://github.com/elrouss/virtual-keyboard.git` - клонировать репозиторий (HTTPS)\n2. `npm i` - установить зависимости\n3. Запустить с помощью `live server`\n\nNB! Приложение создано для десктопа и может некорректно отображаться на планшете и мобильном устройстве. Программа не кроссбраузерная и работает коррекно в Google Chrome (в других браузерах возможны ошибки)\n\n## 4. Процесс создания\nРабота разделена на **2 этапа**:\n\n1. Верстка и логика\n2. Cross-review\n\n## 5. Функционал\n- Переключение англо- и русскоязычной раскладки с сохранением состояния после перезагрузки страницы (**Ctrl** + **Alt (Opt)**)\n- Корректная работа клавиш **CapsLock** и **Shift** вместе и по отдельности\n- Нажатие на клавиши и клик по ним приводит к появлению символов в текстовом поле на экране\n- Нажатие на клавиши физической клавиатуры подсвечивает клавиши на виртуальной\n- Навигация по текстовому полю нажатием на клавиши и кликом курсором по ним\n\n## 6. Планы по улучшению\n- Рефакторинг (принцип DRY)\n- Исправить ошибку с клавишами `BackSpace` (при положении каретки в начале текстового поля и наличии текста в нем в конец инпута добавляется удаляемый текст) и `стрелкой влево` (при положении каретки в начале текстового поля происходит перескок в конец инпута)\n- Стилизовать placeholder аудио (настоящая стилизация через псевдоэлементы отображается только в Google Chrome)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felrouss%2Fvirtual-keyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felrouss%2Fvirtual-keyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felrouss%2Fvirtual-keyboard/lists"}