Сайт для фотографа с приемом оплаты

Сайт efreyer.net (рабочее зеркало http://efreyer.net.s3e.ru/) был разработан для известного фотографа - Евгения Фрейера. К началу 2019 года разработка была закончена, протестирован дизайн и функционал сайта. Пользователи могли зарегистрироваться, получить доступ в личный кабинет, выбрать курс и оплатить его.

Моя роль в проекте

Весь цикл разработки, после возникновения самой идеи продукта, был полностью осуществлен моими силами. А точнее: разработка и тестирование, дизайн, настройка онлайн эквайринга и взаимодействие с API банка, полная настройка удаленного сервера, с установкой и настройкой Nginx с SSL от Let's Encrypt, MariaDB, Vsftpd, UFW.

Тестирование

Проверки готового продукта включали в себя тестирование следующих пунктов:

  1. Корректность текста, информации, даты, стоимости.
  2. Соответствие дизайна и изображений с требованием заказчика.
  3. Интерфейс и функционал админки и личного кабинета пользователя.
  4. Кроссплатформенное тестирование на десктоп и мобильных устройствах (iOS и Android).
  5. Кроссбраузерное тестирование (Chrome, Safari, FireFox, Yandex Browser, Opera).
  6. Тестирование адаптивного дизайна (Как в DevTools, так и на реальных устройствах с разным разрешением и диагональю экрана).
  7. Применены техники тест-дизайна: Классы эквивалентности и граничные значения, позитивные и негативные проверки.
  8. При внесении изменений, производилось Смоук и Регрессионное тестирование.

Разработка

Сайт написан на PHP и JS, хранение данных о продуктах и регистрации пользователя осуществляется в БД MySQL. Использованы библиотеки и фреймворки: bootstrap, jquery, twentytwenty.js (для отображения фотографий "до и после"), pagepiling.js (для постраничной прокрутки страниц).

Рассылка сообщений пользователям на электронную почту, после регистрации и оплаты, реализована PHP библиотекой "PHPMailer".

Детально проработан адаптивный дизайн основанный на CSS media-запросах, без использования стандартной сетки фреймворка Bootstrap. Сайт хорошо отображается как на десктоп, так и на мобильных устройствах в портретном и ландшафтном расположении.

Был разработан простой, но удобный личный кабинет пользователя, откуда человек мог произвести оплату. Для просмотра регистраций, оплаты пользователя, редактирования описания продуктов и проведения вебинаров, также была разработана "админка".

Для работы с API банка, была написана функция на PHP, которая разбирала JSON, добавляла ключ "password", сортировала массив в алфавитном порядке, конкатенировала значения и получала хэш SHA-256 этой строки. После проверки сгенерированного и полученного токена, платеж считался совершенным.

Описание

  • Степанов Евгений

  • efreyer.net

  • 01 января 2019

Разработка и тестирование сайта по продаже авторского курса, фотографа Евгения Фрейера - ретуш и обработка фотографий.