Вот я описал небольшой список. Его хватит? Детали реализации неважны, главное, чтобы функционал присутствовал в приложении.
Функциональные требования:
1 Регистрация и менеджмент пользователей. Для регистрации нужен только валидный email и пароль, содержаний минимум 8 символов, 1 букву, 1 цифру, 1 спец символ.
2 Разграничение ролей на админа и пользователь.
2.1 Админ может добавлять и редактировать новый товар. Также админу доступен список заказов, которые сделали пользователи.
2.2 Пользователь может добавлять товар в корзину, товары в корзине можно заказать. Все заказы видны администратору
2.3 Незарегистрированный пользователь может просматривать товар, но не может добавить его в корзину
3 Товар содержит фото, описание, теги
4 Товар можно найти по тегам и описанию
5 Зарегистрированные пользователи должны 1 раз в неделю получать рассылку о товаре, котором они интересовались (вроде напоминания в стиле «вы хотели это купить»). От рассылки должна быть возможность отказаться
Технические требования
1 В приложении должны быть реализованы миграции для создания пустой базы данных
2 В приложении должно быть реализовано логирование
3 Авторизация при помощи JWT RSA
4 Каждый ендпоинт должен иметь минимум 1 тест
5 Загружаемые фото должны обрезаться по середине до разрешения 1024x1024
Индивидуальные требования к участникам:
1) Дмитрий не использует фреймворки с готовой архитектурой (вроде
abp.io)
2) Павел использует Tecture