Giter Club home page Giter Club logo

refactoring-database-and-application's Introduction

Рефакторинг баз данных и приложений

Сценарий 2: Рефакторинг существующего программного проекта

Студенты:

  • Крисанов Роман Валерьевич
  • Шабалов Антон Павлович

Вариант №331313: Готовим дома. Кулинарные рецепты с фотографиями блюд - http://gotovim-doma.ru

Разработать приложение на базе Spring Boot, реализующее бизнес-процесс "Добавление и подтверждение рецепта".

  • Приложение должно использовать СУБД PostgreSQL хранения данных

  • Для всех публичных интерфейсов должны быть разработаны REST API.

  • Необходимо реализовать в нём управление транзакциями и разграничение доступа к операциям бизнес-логики в соответствии с заданной политикой доступа.

    • Управление транзакциями необходимо реализовать следующим образом:

      • Управление транзакциями необходимо реализовать с помощью Spring JTA.
      • В реализованных прецедентах необходимо использовать программное управление транзакциями.
    • Разграничение доступа к операциям необходимо реализовать следующим образом:

      • Реализовать разграничений доступа к операциям бизнес-логики на базе Spring Security
      • Информацию об учётных записах пользователей необходимо сохранять в реляционую базу данных
      • Для аутентификации использовать HTTP basic.
  • Реализовать асинхронное выполнение задач с распределением бизнес-логики между несколькими вычислительными узлами и выполнением периодических операций с использованием планировщика задач.

    • Требования к реализации асинхронной обработки:
      • Асинхронное выполнение задач должно использовать модель доставки "очередь сообщений".
      • В качестве провайдера сервиса асинхронного обмена сообщениями необходимо использовать очередь сообщений на базе RabbitMQ.
      • Для отправки сообщений необходимо использовать протокол AMQP. Библиотеку для реализации отправки сообщений можно взять любую на выбор студента.
      • Для получения сообщений необходимо использовать слушателя сообщений @RabbitListener.
    • Требования к реализации распределённой обработки:
      • Обработка сообщений должна осуществляться на двух независимых друг от друга узлах сервера приложений.
    • Требования к реализации запуска периодических задач по расписанию:
      • Реализовать утверждённые прецеденты с использованием планировщика задач Quartz

refactoring-database-and-application's People

Contributors

anton-shabalov avatar rkrisanoff avatar

Watchers

 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.