Coder Social home page Coder Social logo

work_test's Introduction

Техническое задание от MyGenetics

Начальные условия и требования по развертыванию проекта

  • В репозитории находится фундамент Laravel приложения с небольшими изменениями, а также предопределенным файлом окружения .env.local. Этот файл служит ориентиром и базовым требованием к проекту: выбор СУБД, механизм кэширования, порты в контейнере и на хост-машине и т.д.
  • Переменные в .env.local и в конфигурация приложения config не должны изменяться (исключение составляют настройки для подключаемых пакетов).
  • Проект должен быть обернут в Docker, запуск осуществляться посредством docker-compose up. Файл окружения для compose - также .env.local
  • Локальное развертывание должно происходить без ошибок как на Unix, так и на Windows системах.
  • Использование плагина devcontainers запрещено.
  • Вместо связки phpfpm + nginx требуется реализовать nginx (как обратный прокси) + swoole (Laravel Octane) в качестве сервера приложения.
  • Необходимо настроить работу служб внутри контейнера под supervisor.

Описание технического задания

  • Приложение должно представлять собой чистое REST API. Удаляем все web маршруты и меняем глобальный обработчик исключений. Возврат ответов должен быть в формате JSON по любому маршруту.
  • Приложение выполняет функционал сервиса генерации уникального лабораторного кода. Для этого необходимо создать один POST API маршрут, который принимает один из трех префиксов лабораторного кода: QD, ZA, FW.
  • Сгенерированный код должен следовать формату {префикс}{цифра}{цифра}{цифра}({буква}{0,2}). После трех цифр и при достижении максимального количества вариантов, счетчик обнуляется, и добавляется буква по алфавиту. Продолжается по тому же принципу до двух последних латинских букв алфавита. Например, последний вариант для QD будет QD999ZZ.
  • Необходимо создать алгоритм, учитывающий все возможные варианты, для максимизации количества уникальных лабораторных кодов.
  • Важно: Система должна учитывать конкурентные запросы и предотвращать дублирование лабораторных кодов в БД.
  • Схема таблицы в БД должна содержать текстовое поле lab_code. Остальные поля вариативны и остаются на усмотрение разработчика.

work_test's People

Contributors

bitw 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.