#Promocodes Test Application ##September 20, 2017
###Реализуйте приложение на Ruby on Rails, которое удовлетворяет требованиям:
- Приложение содержит два раздела: страница покупки (/) и админка (/admin).
- На странице покупки находится форма оплаты, содержащая поля для ввода описания покупки, суммы и (опционально) промокода.
- После ввода промокода он валидируется и отображается размер скидки и итоговая стоимость заказа, либо корректное сообщение об ошибке.
- При отправке формы информация о покупке сохраняется в БД, а пользователю показывается уведомления об успешной оплате.
- В админке выводится список успешных транзакций (описание заказа, стоимость, размер скидки, промокод, IP покупателя).
- В админке также можно генерировать промокоды. При генерации указывается маска промокода, сумма скидки (фиксированная или в процентах от суммы покупки) и кол-во промокодов, которые требуется сгенерировать.
- Каждый промокод уникален.
- Промокоды могут быть многоразовыми (с фиксированным или бесконечным количеством использований).
- Маска промокода задается строкой вида "123abc*#", где @ — произвольная буква латинского алфавита, # — произвольная цифра, * — произвольная буква или цифра. Таким образом, по маске "promo@@@###" могут быть сгенерированы коды "promoxyz123", "promoert777" и т.д.
- Все формы содержат разумные валидации.
- Внешний вид приложения должен быть аккуратным в рамках разумного (рекомендуется использовать фреймворк типа Bootstrap или Bourbon).
- Приложение надо оформить в виде репозитория на GitHub и развернуть на Heroku.