Тест на тупость

Предыстория

Когда я работал в прошлой компании, в ней периодически проводились онлайн-опросы. Их целью было понять, какие товары наиболее перспективны для продажи. Каждый опрос содержал несколько тысяч фотографий этих самых товаров и собирал оценки в виде звездочек (от 1 до 5) для понимания интересов аудитории. По завершению каждого опроса нужно было смэтчить фотку того, че они хотят там впарить с результатами опроса. Если говорить конкретнее, то по результатам опросов делалась excel-табличка (она называется «202307 Выгрузка для проставления результатов на фото» в архиве с заданием), в которой фигурировала инфа с оценками байеров, их комментами, а также с оценками сотрудников магазинов. В конечном итоге вся эта информация (фотка + текст) должна найти отражение в PNG-файле формата А4, чтобы сотрудницы могли распечатать PNG'шки для внутреннего использования. Еще раз: есть база данных с оценками, есть фотография товара. И оценки, и фотография должны оказаться в одном документе. Однажды теплым летним днем мне прилетел вопрос от руководителя - знаю ли я программу, которая позволяет накладывать текст на фото? Задачу, как это обычно бывает, нихуя нормально не объяснили. Нагуглил какое-то недоразумение, но под эту цель оно не подходило. Говорю, могу сам сделать. Он мне ответил, что ничего делать не надо и наговнокодил какой-то высер, внимание, даже не на языке программирования, а на 1С! Потом этого руководителя погнали из компании ссаными тряпками, и задача, являясь регулярной, перешла уже ко мне. Я сделал скрипт на JS, который решает ее, и сам все эти фотографии через него прогонял, но в один момент времени.. Это была осень 2023 года. Я начал учить Go, и чтобы сразу практиковаться, решил сделать сервис избавляющий меня от этой рутины с фотографиями. Его цель очень проста: сотрудник загружает архив с информацией из таблички и фотографиями, а получает на выходе архив с готовыми PNG'шками. Что, казалось, могло пойти не так? В сопроводительном письме я постарался максимально подробно и ясно расписать, как этим сервисом пользоваться, но у сотрудницы, которой его доверили, возникли проблемы. Я смотрел логи и прибывал в ужасе: «У тебя же JSON'ом по белому написано, что ты делаешь не так!» - думал я. Она несколько раз пыталась загрузить файл, но каждый раз получала ошибки. Ну хорошо, я поленился делать человекочитаемые ошибки, но Настя, ты ведь могла спросить в любой момент времени у меня, и я с радостью подсказал бы что не так! А теперь мы имеем что имеем - тест. Тест на тупость. Количество попыток, которое ей понадобилось чтобы успешно получить архив можно будет узнать после прохождения теста.

Задача

Опираясь на информацию из письма подготовить архив таким образом, чтобы программа его переработала и выдала архив с наложенным на фотографии тестом на выходе. В прикрепленном задании есть excel-табличка, из которой сотрудница брала данные. Также есть папка с фотографиями, на которые нужно проставить результаты опроса. Я намеренно оставил ее задачу и письмо (только заменил ссылку на актуальную) в первоначальном виде. Good luck, have fun.

Текст письма

Привет) Для удобства простановки результатов на фотографии по завершению опроса я сделал отдельный микросервис, доступный по адресу https://fraulein.lemerency.ru/fraulein/ Сайт принимает на вход zip (не rar, 7zip, tar.gz, etc), в котором находится папка images и текстовый файл data.txt. В папку images необходимо поместить все фотографии, на которые будут проставляться результаты, а в файл data.txt необходимо занести данные в следующем порядке: 1. Barcode 2. StaffNote 3. AllStaffScore 4. BuyerNote 5. AllBuyersScore 6. AlenaScore 7. AlenaComment 8. LudaScore 9. LudaComment 10. VitaScore 11. VitaComment 12. Type 13. Collection Каждое поле разделено между собой знаком табуляции. Каждый новый товар начинается с отдельной строки. В приложении пример того, как должно быть. Максимальный размер архива - 1 ГБ