Для запуска введи в терминале:
Чтобы собрать билд введи:
В ходе разработки использовались React
, TypeScript
, Redux-Toolkit
, Модульные стили
, Адаптиваная верстка
. Для парсинга Exel документов использовалась библиотека SheetJS
После того как файл прикреплен и библиотека SheetJS
обработала документ, алгоритм сверяет значения ячеек на предмет соответствия формату гос. номера РФ, а именно должны быть только буквы, используемые в номерах РФ, имеющие аналог из латинского алфавита (А, В, Е, К, М, Н, О, Р, С, Т, У, Х) и иметь вид А874АХ197. Если в документе обнаруживаются невалидные ячейки, показывается соответствующий алерт с перечнем таких значений. Если в документе не обнаруживается валидных ячеек, то показывается соответствующий алерт с предложением прикрепить другой документ, соответственно поля для поиска в этом случае нет.
Алгоритм не отсеивает номера в документе, которые имеют латинские буквы. В случае если такой номер обнаруживается, он обрабатывается функцией и посимвольно переопределяет латинские символы в кириллицу, тем самым приводя массив номеров к единому виду. После этого массив номеров записывается в Redux
.
Поле ввода для поиска индицируется, если документ прикреплен и имеет валидные значения. Имеется валидация введенного значения. Таким образом, если введено менее 3х символов, формат не соответсвует ГОСТу или введены латинские буквы, выдается сообщение об ошибке. Поиск можно инициировать двумя способами. Нажав кнопку найти или клавишей Enter.
Ниже расположен блок, показывающий результаты поиска. В случае если номер не найден, выдается сообщение красным цветом, если найден, то зеленым и список найденных номеров, т.к. в случае частичного ввода может быть обнаружено несколько значений.