Проекты выпускников GeekBrains: сервис Promoholder

Проекты выпускников GeekBrains: сервис Promoholder

Рассказываем историю создателя Promoholder Даниила Егорова и заглядываем под капот его проекта
4 минуты3411

Привет! Меня зовут Даниил Егоров. Хочу рассказать, как стал веб-разработчиком, а также представить проект, который я в одиночку написал с нуля. Надеюсь, он пригодится многим из вас.

Об учёбе

Прежде чем стать программистом, я где только ни работал. Мне не очень нравилось переходить с места на место, так что я стал искать возможность всё изменить. IT-сфера всегда привлекала, поэтому решил попробовать себя в одной из цифровых специальностей.

Как-то раз я нашёл урок по HTML5 на YouTube-канале WebMagisters. Это был очень простой материал для новичков, где рассказывали, как при помощи HTML вывести надпись Hello World. Именно благодаря ему я понял, что веб-разработка — это не так сложно, как казалось. Прослушал все лекции канала, кое-чему научился, затем начал искать другие материалы по теме: смотрел видео, читал статьи и книги. Набрал определённый уровень знаний и опыта, стал разрабатывать проекты на фрилансе. 

Полтора года прошло под знаком самообразования и фриланса, а затем я устроился бэкендером в IT-компанию. Не хотел бы раскрывать её название по ряду причин, отмечу только сам факт трудоустройства. Меня пригласили на собеседование, где я получил листок бумаги и ряд задач по PHP и SQL. Я их решил, а после этого ответил на дополнительные вопросы работодателя — о размере заработной платы и желании работать именно у них. Потом я переехал и ушёл в другую компанию, где и работаю веб-программистом. 

Также я окончил курсы тестировщиков ПО. Выбрать их помог случай: я увидел контекстную рекламу курсов GeekBrains на одном из сайтов, и тестирование пришлось по душе. Знания и опыт, приобретённые на курсах, оказались полезны: теперь я вижу слабые места разработки, могу быстро найти и исправить баг. 

Проект Promoholder

Во время обучения у меня появлялись идеи разных сервисов. Одну я в итоге решил реализовать и создал проект Promoholder — это система управления промокодами для разработчиков.

Идея возникла у меня не просто так. Дело в том, что в каждом проекте, где я участвовал, нужно было решать проблему управления промокодами. Это всегда приходилось делать с нуля, хотя возможности у таких систем примерно одинаковые.

В один прекрасный момент я понял, что необходим универсальный сервис, к которому можно было бы обращаться, если нужно добавить возможность управления промокодами для других проектов.

Я сделал проект для себя и понял, что его возможности могут быть полезны и другим разработчикам. Поэтому доступ к сервису теперь есть у всех желающих.

Promoholder — freemium-сервис для веб-мастеров и владельцев сайтов и приложений, позволяющий создавать промокоды для пользователей разных сервисов. Промокодам можно задавать разные свойства: срок действия, временную зону, по которой сверяется период, количество, активность и т. п. Сервис позволяет группировать разные промокоды по кампаниям. Каждая из них — отдельный проект пользователя Promoholder.

Внедрять механизм создания, хранения и управления промокодами в каждый из своих проектов теперь не нужно, можно использовать Promoholder. Для проверки валидности отправленных пользователями промокодов сервис предоставляет собственный API.

У проекта есть базовая и PRO-функциональность. В версии PRO есть доступ к специальным инструментам: массовой генерации промокодов, импорту фида, журналу API-запросов — и нет ограничений по количеству добавляемых промокодов и кампаний.

Сейчас Promoholder находится на стадии тестирования, проект развивается. Через API сервиса к нему можно подключать любой сайт, сервис, мобильное приложение или игру. Если пользователь ввёл невалидный промокод, система сообщит об этом администратору проекта.

Технологии в основе проекта: для бэкенда — PHP 7.4, для роутинга — микрофреймворк Slim, для фронтенда — jQuery и фреймворк Materialize CSS.

Были и трудности в работе — они были связаны не с разработкой, а с интеграцией платёжной системы Robokassa и подтверждением данных с её стороны. Это был долгий процесс, и пока шла интеграция, приходилось регулярно уточнять у техподдержки, решается вопрос с транзакцией или нет. 

У меня небольшой опыт в вёрстке, но я стараюсь его наращивать. С каждым проектом работается проще, а вёрстка получается профессиональнее.

Как подключиться к Promoholder

Зайдите на сайт сервиса и выберите в выпадающем меню пункт Profile. Здесь можно создать, изменить или удалить проект, к которому вы планируете подключить Promoholder. В профиле показаны контактные данные пользователя, его часовой пояс, статус кампании, токен, дата регистрации и последнего обновления кампании.

При подключении сервиса можно выбрать платный или бесплатный вариант работы, затем — создать кампанию для своего проекта. Сейчас доступны четыре разных тарифа для пользователей, которым нужны PRO-функции:

  • 5 $ за месяц;
  • 10 $ за 3 месяца;
  • 18 $ за 6 месяцев;
  • 25 $ за год.

В PRO-аккаунте доступны импорт XML-фида, создание нескольких промокодов, ведение журнала запросов API. В настройках есть возможность выбрать время работы кампании, ограничения в использовании, часовой пояс и другие детали.

Технические подробности работы с проектом вы найдёте в разделе For Developers. Там раскрываются нюансы подключения Promoholder к сайтам и сервисам, есть список доступных ключей.

Надеюсь на востребованность моего проекта — он узкоспециализированный, решает одну проблему, но зато делает это качественно. Promoholder может пригодиться каждому разработчику, который имеет дело с промокодами.

Если вы хотите добавить в сервис какую-либо функцию, напишите о ней в комментарии к статье.

Хотите узнать больше о выпускниках факультета тестирования ПО и профессии «Тестировщик ПО»? Вот их истории:

Сентябрь — отличное время, чтобы построить далеко идущие планы и начать идти к новым целям! Если вы хотите освоить профессию мечты, то с 1 по 11 сентября 2020 г. мы дарим вам скидку 40% почти на все программы обучения GeekBrains. Успехов! :)

 

программированиеqa-engineerистории успеха
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!
Posts popup