Skip to content

Latest commit

 

History

History
48 lines (25 loc) · 2.74 KB

solving_mathematical_equations_app.md

File metadata and controls

48 lines (25 loc) · 2.74 KB

RoR: система решения математических уравнений

Задание

Система должна состоять из двух основных компонентов: фронтенд и бэкенд сервер.

Фронтенд сервер — основной функционал

RoR приложение должно предоставлять:

  1. Выбор типа уравнения (по умолчанию линейное и квадратное).

  2. Форму ввода параметров для решения уравнения.

  3. Передачу параметров уравнения на бэкенд сервер в формате JSON.

  4. Получение и отображение результата в «дружественном» виде.

Дополнительные пожелания

  1. Использование CSS на формах / страницах «Выбор», «Вввод», «Результат».

  2. Использование JS / Ajax / JS-framework на формах / страницах «Выбор», «Ввод», «Результат».

  3. Использование тестовых фреймворков TestUnit / RSpec / Cucumber (один или несколько).

  4. Обеспечить валидацию параметров и обработку исключительных ситуаций (500 от бэкенда, ввод буквенных параметров, ввод дробных параметров и т.д.).

Бэкенд сервер — основной функционал

Допустимо использование приложения на Sinatra или подобном фреймворке. Приложение должно:

  1. Предоставить точку входа для получения параметров уравнения.

  2. Обеспечить решение уравнения.

  3. Предоставить ответ в формате JSON.

Дополнительные пожелания

  1. Использование наследования при решении различных типов уравнения (единый интерфейс для решения любого типа уравнения).

  2. Обеспечение валидации параметров и обработки исключительных ситуаций (недостаточное количество параметров, неверный тип уравнения, неверный тип аргументов и тд).

  3. Использование TestUnit / RSpec / Cucumber.

  4. Использование аутентификации при приеме запроса.