Skip to content

Instantly share code, notes, and snippets.

@mrjazz
Last active March 10, 2021 12:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrjazz/77d648de7d5c36fcabc1f8be3355858f to your computer and use it in GitHub Desktop.
Save mrjazz/77d648de7d5c36fcabc1f8be3355858f to your computer and use it in GitHub Desktop.

Online store

Примечания для реализации заданий разными технологиями: При выполнении задания на angular/vue/react приложение должно быть реализовано как SPA, все необходимые ответы от сервера можно захардкодить в json файлы, либо, как вариант более сложной реализации в связке с rest api на golang/nodejs/php/ruby/python/java. Если используется php/ruby/python/java, рекомендуется использовать любой стандартный фреймворк (laravel/rails/django/spring) и реализовать интерфейс при помощи server-side rendering.

Homepage

Базовая функциональность:

  • Навигационное меню
  • Категории товаров
  • Breadcrumbs

Средняя сложность:

  • Sign In/Sign Up/Forgot password
  • Блок с самыми продаваемыми продуктами магазина

Высокая сложность:

  • Поиск (по описанию, заголовкам товаров)
  • Блок с последними купленными товарами в вашем регионе
  • Интернационализация (многоязычный сайт)

Products page

Базовая функциональность:

  • Список подкатегорий
  • Товары в списке категорий

Средняя сложность:

  • Блок с самыми продаваемыми продуктами в выбранной категории

Высокая сложность

  • Многоуровневые категории

Product page

Базовая функциональность:

  • Изображение продукта
  • Заголовок

Описание Селектор количества Кнопки “Add to Cart”, “Buy Now”

Средняя сложность:

  • Rating
  • Reviews
  • Create review

Высокая сложность: Контрол отображающий несколько изображений, с возможностью листать их по клику либо курсорными клавишами, увеличивать изображение и закрывать увеличение по Escape

Checkout page

Базовая функциональность: Список товаров в корзине

  • Форма для заполнения контактных данных, адреса и способа доставки, кредитной карты.
  • После заполнения формы показать Confirmation page.

Средняя сложность:

  • Реализовать каждую из форм как отдельный шаг. При переходе с одного шага на другой, валидировать форму
  • Возможность удалить товары из корзины

Высокая сложность:

  • Интегрировать платежи с sandbox любой платежной системы (Stripe, Paypal, authorize.net)

Docker

Простая реализация: контейнеризировать приложение в докер, запушить в hub.docker.com, развернуть приложение из hub.docker.com, запустить

Средняя: докеризировать все сервисы (бекенд, фронтенд, базу данных). Описать docker-compose для запуска всех сервисов

Сложная: Настроить ci pipeline в gitlab. Должны запускаться линтеры для проверки кода и собираться контейнер с приложением, после чего коммититься в gitlab registry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment