Git Product home page Git Product logo

baltiski-telecom-holding-testcase's Introduction

Разработать функционал на Laravel c базой данных PostgreSQL.

Реализовать вывод списка продуктов, просмотр карточки продукта, добавление, редактирование и удаление продукта.

Создать таблицу «products».

ID uint, autoincrement
ARTICLE varchar(255), unique index
NAME varchar(255)
STATUS varchar(255) "available" / "unavailable"
DATA jsonb несколько разных полей (например, Color и Size) на своё усмотрение
timestamps
soft deletes

Создать Eloquent-модель «Product», связанную с таблицей «products». В модели реализовать Local Scope для получения только доступных продуктов (STATUS = “available”).

Сделать валидацию создания и редактирования:

  • NAME — обязательное поле, длиной не менее 10 символов;
  • ARTICLE — обязательное поле, только латинские символы и цифры, уникальное в таблице.

Создать роль администратора, который может редактировать артикул, остальным пользователям редактирование артикула недоступно. Роль пользователя можно узнать из настроек (config(‘products.role’)). Реализовать валидацию и проверку прав (контроллер, модель, отдельный сервис — на своё усмотрение).


Дополнительно


При создании продукта реализовать отправку на заданный в конфигурации Email (config(‘products.email’)) уведомления (Notification) о том, что продукт создан. Уведомление должно отправляться через задачу (Job) в очереди (Queue). Готовое приложение упаковать в docker.

Интерфейс приложения реализовать соответственно макету (см. ссылку): https://www.figma.com/file/pVspJcvzwZUYynT2dogGG2/PIN-ERP-ТЗ-03.02.2022-(Copy)?type=design&node-id=0-1&mode=design&t=pzPc1ZJlca6HnPL3-0

Готовое приложение выложить на GitHub / Bitbucket

baltiski-telecom-holding-testcase's People

Contributors

esca7a avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.