Необходимо создать сервис для хранения и подачи объявлений. Объявления должны храниться в базе данных. Сервис должен предоставлять API, работающее поверх HTTP в формате JSON.
- язык, технологии: Go/Python/PHP/Java/JavaScript, PostgreSQL/MySQL, любой фраемворк (или без него)
- код должен быть выложен на github
- 3 метода: получение списка объявлений, получение одного объявления, создание объявления
- валидация полей (не больше 3 ссылок на фото, описание не больше 1000 символов, название не больше 200 символов)
- нужна пагинация, на одной странице должно присутствовать 10 объявлений
- нужна возможность сортировки: по цене (возрастание/убывание) и по дате создания (возрастание/убывание)
- поля в ответе: название объявления, ссылка на главное фото (первое в списке), цена
- обязательные поля в ответе: название объявления, цена, ссылка на главное фото
- опциональные поля (можно запросить, передав параметр fields): описание, ссылки на все фото
- принимает все вышеперечисленные поля: название, описание, несколько ссылок на фотографии (сами фото загружать никуда не требуется), цена
- возвращает ID созданного объявления и код результата (ошибка или успех)
Не обязательно, но задание может быть выполнено с любым числом усложнений:
- написаны юнит тесты
- контейнеризация – возможность поднять проект с помощью
docker-compose up
- кеширование – для увеличения скорости ответа от сервера, может быть добавлено кеширование (Redis/Memcached)