Git Product home page Git Product logo

bmstu-iu7-td's Introduction

Hi there, I'm Gregory Mironov

Linkedin Badge Telegram Badge

Glad to see you here!  

I am a backend developer at VK.

Github Stats

📈 My GitHub Stats:

bmstu-iu7-td's People

Contributors

migregal avatar

Watchers

 avatar

Forkers

taaanechka

bmstu-iu7-td's Issues

Добавить отчет p3express

Проблема
Описать цикл работы над проектом.

Решение
Для описания цикла работы над проектом можно использовать фреймворк p3express.
Это пошаговый фреймворк, предназначенный для управления проектами, который позволяет описать весь цикл работы над проектом — от запуска до завершения проекта.

Результат
Создан отчет, в котором пошагово описаны этапы p3express:

  • Запуск проекта A01—10
  • Планирование цикла B01—05
  • Еженедельные действия C01—04
  • Ежедневные действия D01—02
  • Закрытие цикла E01—03
  • Закрытие проекта F01—06
  • После проекта G01—03

Разработка API авторизации

  • #9
  • #17
    • авторизация пользователя по POST /api/v1/auth/login
    • регистрация пользователя по POST /api/v1/auth/registration
    • выход пользователя из системы по DELETE /api/v1/auth/logout
  • #22

Добавить удаление файла

Проблема

  • по тз пользователи должны иметь возможность безвозвратно удалять файл
  • случайный клик по кнопке не должен приводить к моментальному удалению файла

Решение

  • добавить кнопку удаления у каждой строки в таблице файлов
  • при нажатии на кнопку рядом появляется вторая кнопка, подтверждающая удаление

Результат

  • после удаления файл не доступен по ссылке из qr-кода
  • при случайном клике на кнопку файл не удаляется сразу - только после подтверждения, нажатием на вторую кнопку

Добавить генерацию ссылки на файл для клиента

Проблема

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

Кроме того, подход позволит в будущем переиспользовать логику на новых платформах

Решение

В методе получения списка файлов (/api/v1/files/get) необходимо добавить ссылку на каждый из получаемых файлов в виде отдельного поля.

Хост в урле должен быть конфигурируемым (для тестирования) + ссылки должны вести на выделенный path api/v1/pages/{file_id}

Кроме того, следует применить link shortener к id файлов, чтобы укоротить получаемые ссылки (потребуется добавить во все методы, в которых используется file_id)

Ожидаемый результат

Для каждого файла в списке, получаемом в методе /api/v1/files/get появляется поле url, содержащее ссылку, ведущую на описанные выше хост и путь

Разработать инфраструктуру frontend

  1. Реализовать страницу hello-world
    • разработать общую структуру
    • настроить dev среду
  2. Реализовать хождение в сервер
    • постучать в ручку /api/v1/auth/login
  3. Реализовать CI
    • eslint

Реализовать CRUD API файлов

Проблема

В рамках реализации основного функционала MVP требуется реализовать взаимодействие с файлами в виде CRUD API сервиса markupapi согласно ТЗ.

Решение
Необходимо реализовать следующий функционал:

  • добавление файла по POST /api/v1/files/add через FormData
  • получение файла по GET /api/v1/files/get/{id}
  • получение списка файлов по GET /api/v1/files/get
  • обновление файла по PUT /api/v1/files/upd/{id} через FormData
  • удаление файла по DELETE /api/v1/files/del/{id}

Ожидаемый результат

  • Вызов /api/v1/files/add приводит к добавлению файла в профиле пользователя
  • Вызов /api/v1/files/get/{id} приводит к получению содержимого конкретного файла
  • Вызов /api/v1/files/get приводит к получению списка всех файлов пользователя
  • Вызов /api/v1/files/upd/{id} приводит к полной перезаписи информации о файле (с сохранением работоспособности ссылок)
  • Вызов /api/v1/files/del/{id} приводит к полному удалению

Оценка рисков

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

Решение
Из-за возможности возникновения различных обстоятельств, мешающих реализации проекта в срок, требуется определить не менее 5 рисков и подробно описать их, чтобы представлять дальнейший план действий в случае возникновения какого-либо из них.

Результат
Определены и подробно описаны риски. Для каждого из них указаны:

  • приоритет;
  • суть риска;
  • состояние;
  • вероятность;
  • урон;
  • воздействие;
  • тип стратегии;
  • стратегия;
  • ответственный.

Сделать отображение списка файлов с QR-кодами

Проблема

  • по тз пользователь должен иметь возможность просматривать весь список загруженных файлов
  • по каждому файлу должна быть возможность просмотра QR-кода с ссылкой на страницу этого файла

Решение

  • список файлов представить в виде таблицы
  • сделать отдельную кнопку в строке файла, по нажатию которой можно будет увидеть и копировать QR-код

Результат

  • на странице представлен список файлов
  • можно посмотреть и копировать QR-код файла

Описание команды

Добавить в документацию список участников (Фамилия Имя + фото + контакты)

ТЗ

Внести правки (добавить раздел терминов, выделить дополнительный функционал), утвердить ТЗ.

Регламенты кодирования

В документацию добавить регламенты кодирования со следующим содержимым:

  • описание правил именования коммитов;
  • описание ветвления;
  • описание правил оформления исходного кода.

Разработка инфраструктуры backend

  1. Реализовать ping-pong сервер
    • Разработать общую структуру backend'а
    • Реализовать /liveness и /readiness для проверки состояния backend'а
  2. Реализовать скрипты для сервера
    • Статический аналих
    • Модульные тесты
    • Сборка
  3. Реализовать минимальный CI для реализованного кода
    • lint
    • unit test

Разработка CRUD API файлов

  • #11
  • #19
    • добавление файла по POST /api/v1/files через FormData
    • получение файла по GET /api/v1/files/{id}
    • получение списка файлов по GET /api/v1/files
    • обновление файла по PUT /api/v1/files/{id} через FormData
    • удаление файла по DELETE /api/v1/files/{id}
  • #22

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.