Тестовое задание

Тестовое задание

Владислав Поляков

Тестовое задание будет в основном не на написание кода, а на умение интегрировать и связывать различные технологии между собой. В данном тестовом задании вам необходимо создать веб приложение, точнее инфраструктуру для него.

Backend часть

Требуется создать graphql api server и реализовать авторизацию при помощи JWT, используйте mock данные.

Frontend часть

Требуется написать React приложение, которое будет взаимодействовать с backend graphql api сервером. Создаем форму авторизации и приватную страницу, которая будет доступна после авторизации.

Уровни сложности (от простых к сложным), выбирайте по своим навыкам, лучше сделать хорошо, чем не сделать вообще.

Совет: Для общения клиента и сервера по graphql api можно использовать apollo server + apollo client (apollo react)

  1. Create React App + css фрэймворк + typescript / javascript
  2. Create React App + чистый (css, sass, less и т.п.) + typescript / javascript
  3. Create React App + css in js (styled-components v5) + typescript / javascript (functional components + react hooks)

4. Webpack + Hot module replacement + все из 3 пункта (за исключением CRA)

5. Webpack + lazy-load + hot module replacement + SSR (server-side-rendering) + все из 3 пункта (за исключением CRA), и все это работает в build и в dev mode.

Если не получается с TypeScript, делайте на JavaScript (4-5 уровень строго на typescript)


NB! SSR должен работать на едином сервере с api

Что в итоге

  1. У вас должно получится простое веб приложение для авторизации пользователя.
  2. Настроены линтеры (eslint, prettier)
  3. Настроены git хуки
  4. (необязательно) Dockerfile и .sh скрипт для его запуска

Список библиотек, которые вам могут пригодится:

  1. React 16.8 +
  2. Koa (Express в меньшем приоритете)
  3. apollo-server
  4. apollo-tools
  5. apollo-client
  6. jsonwebtoken
  7. bcrypt
  8. faker (для mock данных)

Что не стоит использовать:

  1. Обилие сторонних и не нужных фреймворков и библиотек
  2. Чужой код, без понимания как он работает

Report Page