Giter VIP home page Giter VIP logo

project-final's Introduction

Концепция:

  url: jdbc:postgresql://localhost:5432/jira
  username: jira
  password: JiraRush
  • Есть 2 общие таблицы, на которых не fk
    • Reference - справочник. Связь делаем по code (по id нельзя, тк id привязано к окружению-конкретной базе)
    • UserBelong - привязка юзеров с типом (owner, lead, ...) к объекту (таска, проект, спринт, ...). FK вручную будем проверять

Аналоги

Тестирование

Список выполненных задач:

  1. Разобраться со структурой проекта (onboarding)
  • Каждый модуль является изолированной частью приложения для уменьшения зависимостей между ними

  1. Удалить социальные сети: vk, yandex
  • Удалены handler-ы, настройки
  • Добавлена дополнительная миграция на удаление

  1. Вынести чувствительную информацию (логин, пароль БД, идентификаторы для OAuth регистрации/авторизации, настройки почты) в отдельный проперти файл. Значения этих проперти должны считываться при старте сервера из переменных окружения машины
  • Чувствительная информация вынесена в secrets.yml и сделан import в основной файл. Для запуска приложения необходимо указать переменные окружения

  1. Переделать тесты так, чтоб во время тестов использовалась in memory БД (H2), а не PostgreSQL. Для этого нужно определить 2 бина, и выборка какой из них использовать должно определяться активным профилем Spring
  • Тесты переведены на testcontainers
  • Создана аннотация для упрощения создания новых тестов

  1. Написать тесты для всех публичных методов контроллера ProfileRestController
  • метод get (запросы с неавторизованным пользователем, а также с авторизованным)
  • метод update (не валидный запрос, запрос с неавторизованным пользователем, а также с авторизованным)

  1. Добавить новый функционал: добавления тегов к задаче. Фронт делать необязательно
  • Добавлен TaskUIController, который принимает POST запрос на добавление тегов к задаче. Далее отрабатывает TaskService, делает запрос в базу для поиска задачи и после нахождения добавляет новые теги в таблицу task_tag
  • Добавлен тест на добавление тегов к задаче

  1. Добавить возможность подписываться на задачи, которые не назначены на текущего пользователя. (Рассылку уведомлений/письма о смене статуса задачи делать не нужно)
  • В TaskUIController добавлен метод, который принимает POST запрос на добавление связи задачи к пользователю. Далее отрабатывает TaskService и добавляет связь в таблицу user_belong
  • Добавлен тест на наличие подписи к задаче

  1. Добавить автоматический подсчет времени (сколько времени задача находилась в работе, тестировании и т. д.). Для этого нужно искать записи в таблице activity по задаче.
  • Добавлен Reference для статуса задачи in test
  • Добавлена страница Summary для отображения времени, которое задача находилась в работе, тестировании
  • В TaskUIController добавлен метод, который принимает GET запрос на получение времени задачи. Далее отрабатывает TaskService и возвращает время в формате ключ-значение, где ключ это стадия, а значение время в формате строки
  • Добавлен тест на получение времени задачи

  1. Написать Dockerfile для основного сервера
  • Написан Dockerfile на основе Maven образа. Для запуска приложения необходимо указать переменные окружения

  1. Написать docker-compose файл для запуска контейнера сервера вместе с БД и nginx. Для nginx используй конфиг-файл config/nginx.conf. При необходимости файл конфига можно редактировать
  • Создан docker-compose.yml, который запускает контейнеры с сервером, БД и nginx.

Для запуска приложения необходимо использовать команду:

docker-compose up -d

Приложение станет доступно по адресу: http://localhost:80

Для авторизации можно использовать следующие данные:

Name Value
Login [email protected]
Password admin

  1. Добавить локализацию минимум на двух языках для шаблонов писем и стартовой страницы index.html
  • Добавлена поддержка локализации на английском и русском языке на всех страницах. За исключением данных заполняемых с помощью JS
  • Добавлены кнопки на странице для удобной смены языка

  1. Реализовать бэклог (backlog) – полный список задач (с пейджингом), которые должны быть выполнены и еще не относятся ни к какому спринту. (бек + фронт)
  • В TaskUIController добавлен метод, который принимает GET запрос на получение всех задач не относящихся ни к какому спринту
  • Добавлена страница Backlog для отображения данных задач

project-final's People

Contributors

dedpixta avatar khmelov avatar vasylmalik avatar

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.