/Test-task-Authorization

Test task to develop a SPA application in React with a personal profile and a navigation menu, data storage via LocalStorage without a database

Primary LanguageTypeScript

Test-task-Authorization

Это тестовое задание: Целью было разработать SPA React приложение с навигационным меню, профилем пользователя и главной страницей. Без базы данных, взамен ее было условие использовать JSON файл в котором будут хранится тестовые пользователи, сохранять новых пользователей не нужно. Хранить информацию об пользователе и статусе аутентификации в localStorage,простым параметром true/false. При обновлении страницы в браузере авторизованного пользователя не должно разлогинивать. По задачам ТЗ было все выполнено, дополнительно в работе использовались CSS фреймворк Materialize CSS, предпроцессор SCSS, дополнительно: приложение было докенизированно Docker`ом.

SumYD.gif

Содержание

Технологии

Использование

Что бы запустить проект локально, после клонирования проекта, откройте терминал: Зайдите в папку frontend

$ cd frontend

Установите npm-пакет с помощью команды:

$ npm ci 

Запустите проект

$ npm start

Docker: Для запуска контейнера image-test-auth на основе образа image-test-auth:

$ docker run -d --name image-test-auth -d -p 
4000:3000 image-test-auth:latest

Разработка

Требования

Для установки и запуска проекта, необходим NodeJS v8+.

Установка зависимостей

Для установки зависимостей, выполните команду:

$ npm i

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

Чтобы запустить сервер для разработки, выполните команду:

npm start

Создание билда

Чтобы выполнить production сборку, выполните команду:

npm run build

Общая информация

На проекте по стеку использовалось: TypeScript, React, Redux ToolKit, SCSS, Docker. Как мне кажеться, для улучшения и повышения качества тестового задания, я бы заменил работу с json файлами, на самописный API например на nGrock и похожих инструментах, имеються хостинги дляя фейковых API, тем самым можно было бы посмотреть работу кандидата с асинхронным кодом и REST API запросами к endpoints.

2023-05-31-2-56-57-PM

Команда проекта