/advertising-campaign

Project of an advertising campaign

Primary LanguageJava

advertising-campaign

Project of an advertising campaign

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

tables

В таблице campaigns есть поле ads которое должно содержать id-и реклам которые относятся к данной рекламной компании. Но чтоб организовать связь один ко многим, тоесть одна рекламная компания связана с несколькими рекламами, необходимо просто добавить ячейку с id рекламной компании в таблицу рекламы. Так как связь между таблицами устанавливаеться при помощи связи через FOREIGN KEY, а он может быть только один в одном поле, а не массив таких ключей в одном поле. Следовательно я немного изменил модели. Из модели рекламной кампании убрал поле ads и добавил поле campaing в модель рекламы. Это позволило связать несколько реклам с одной рекламной компанией. Также при таком решении не потребовалось создавать отдельно третей таблицы для связи id рекламной капании и несколькоих id реклам. Также выполняются все логические требования вашего задания.

При запуске приложения используеться база данных H2 в памяти. Создаеться две рекламных компании, каждая из которых содержит по два обьявления.

SELECT * FROM CAMPAINGS;

ID NAME STATUS START_DATE END_DATE
1 camp_1 0 2019-02-28 13:53:26.872 2019-02-28 13:53:26.872
2 camp_2 0 2019-02-28 13:53:26.872 2019-02-28 13:53:26.872

SELECT * FROM ADS;

ID NAME STATUS PLATFORMS ASSERT_URL CAMPAINGS
1 ad_1 0 (0, 1, 2) localhost 1
2 ad_2 0 (0, 1, 2) localhost 1
3 ad_1 0 (0, 1, 2) localhost 2
4 ad_2 0 (0, 1, 2) localhost 2

Прошу обратить внимание как я связал рекламные кампании и рекламы между собой.

Запустить проект можно двумя способами:

  1. Склонить проект и открыть проект в студии, как мавен проект, запустить при помощи класса CampaignApplication

  2. Установить maven, cклонить проект, стать в его корень, выполнить каманду mvn clean pakage. Произойдет сборка проект при помощи maven, потом перейти в каталоп target, и запустить при помощи java jar файл java -jar campaign-0.0.1-SNAPSHOT.jar

После запуска проекта надо перейти по адресу http://localhost:8080/swagger-ui.html, тут вы увидете список всех контроллеров которые ест в проекте. swagger

Так же можно посмотреть H2 консоль, она поможет увидеть все данные в базе данных, по адресу http://localhost:8080/h2-console и нажать "Connect" h2-console