Мы в Telegram
Добавить новость
103news.com
Работа
Апрель
2022

Доработка фронта: Vue, JWT, XTermJS, WebSockets, Bootstrap

0
Необходимо доработать существующий скелет фронтенда на Vue2. Ожидаемый результат - полнофункциональный MVP (minimum viable product) на существующем коде, выполняющий основную задачу + обвязку. UX/UI минимальный.

Существующий бекенд: приложение на Golang, есть исчерпывающая документация в Swagger, включая примеры данных запросов/ответов. Бекенд по требованию будет оперативно допиливаться.

Текущий фронт написан на Vue и довольно прост, нет даже axios, работа с апи простым fetch. Включает компоненты/заготовки:

  • MainLayout
    • Header
      • Menu (Home, About, Profile, Login/Register, ...)
    • Body
      • Home, About - статика
      • Login/Register - базовые заготовки, на доработку
      • XTermTest - полнофункционален, нужно внедрить в общую логику
    • Footer - статика
Приложение в прод-демо будет работать внутри docker контейнера на NodeJS http-server, все вместе спрятано за nginx. Dockerfile для примера есть.

Порядок работы: создадим git репозиторий в который Вы сможете делать коммиты, а я забирать правки для синхронизации в свой приватный репозиторий. Язык коммитов - исключительно английский.

Необходимо сделать:
  • проанализировать и понять текущий код
  • при необходимости провести легкий рефакторинг
  • разработку вести на локалхосте, с подключением к удаленному API, со своей стороны CORS отключу, со стороны фронта Вам нужно будет решить эту проблему самостоятельно и описать решение в README.md
  • сделать глобал-конфиг приложения, куда вынести: API base URL и в перспективе другие параметры
  • Модуль auth
    • сделать полноценную регистрацию/авторизацию/выход на основе JWT и backend-api. Форма регистрации: email (с повтором ввода), username, password (с проверкой длины 10-32 + повтор ввода). Форма авторизации: email / password
    • JWT нужно хранить в localStorage. Необходима поддержка пары access / refresh token-ов, включая фоновое обновление access-токена по его expiration-time.
    • опционально: предусмотреть возможность авторизации через oauth (google/github, API готово)
    • приложение должно понимать свое внутреннее состояние (пользователь авторизован и токены не истекли либо пользователь вообще не авторизован) и корректно передавать Bearer заголовки с access-token-ом во всех необходимых случаях
  • Модуль profile
    • доработать страницу профиля пользователя, выводить данные предоставляемые API, выделить цветом статус аккаунта: верифицирован или нет
    • опционально: возможность смены пароля
    • опционально: возможность запросить повторную отправку email для верификации
    • отображение модуля только для авторизованных пользователей
  • Модуль groups
    • добавить компонент и страницу "Группы пользователя" с возможностью их просмотра/добавления/редактирования/удаления пустых.
    • отображение модуля только для авторизованных пользователей
  • Модуль devices
    • просмотр списка устройств в выбранной группе
    • добавление нового устройства в указанную группу, вывод списка дистрибутивов (из данных API)
    • создание сессии подключения к новому устройству (websocket + xtermjs + jwt пример уже есть), обработка ошибок подключения
    • сессия к устройству должна быть изолирована (не глобальный объект), чтоб в перспективе можно было создавать несколько подключений за раз
    • отображение модуля только для авторизованных пользователей
Дополнительно, но вообще не обязательно:
  • посоветовать, что добавить в конфиг nginx для полноценной навигации (извне открывать сразу конкретные URI, а не базовый домен)
  • попробовать с бутстрапа переехать на tailwind
  • сессии к устройствам организовать в виде компонента tab bar
  • поправить верстку и в целом привести к более опрятному и приятному виду, без фанатизма
Доступ к API предоставлю по запросу, картинки из Swagger как пример. Также прикрепляю картинки внешнего вида фронта на данный момент и примеры кода/структуры проекта.

PS: Порядок цен на фрилансе не очень знаю, пожалуйста предлагайте свои варианты по сумме и срокам на основе вышеизложенного.




Губернаторы России
Москва

Собянин: На Арбате после реставрации открывается мемориальная квартира Пушкина





Москва

Филиал № 4 ОСФР по Москве и Московской области информирует: С начала года более 4,7 тысячи жителей Московского региона оформили страховую пенсию в автоматическом режиме на портале госуслуг


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин объявил о начале работы хаба молодежного предпринимательства



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Филипп Киркоров

Обманул сына, бросил жену в 90 лет и потерял дочь: яркая жизнь Бедроса Киркорова




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Ученики школы №1354 одержали победу в финале Московской спартакиады молодежи допризывного возраста

Спортсменка Росгвардии установила рекорд в командном спринте на «Гран-при Санкт-Петербурга»

Юные тулячки завоевали серебро и бронзу турнира по синхронному плаванию


WTA

Ига Свёнтек одержала 40 побед над теннисистками из топ-10 рейтинга WTA



Новости Крыма на Sevpoisk.ru


ЛокоТех

Работник СЛД «Чита» филиала «Забайкальский» ООО «ЛокоТех-Сервис» принял участие в экологической акции по очистке берега и дна озера Кенон



Частные объявления в Вашем городе, в Вашем регионе и в России