ВВЕДЕНИЕ 4
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6
1.1.Основные понятия 6
1.2.Обзор аналогичных проектов 7
1.3.Обзор существующих средств реализации 8
2. ТРЕБОВАНИЯ К СИСТЕМЕ 10
2.1. Функциональные требования 10
2.2. Нефункциональные требования 10
2.3. Варианты использования 11
3. АРХИТЕКТУРА СИСТЕМЫ 14
3.1. Проектирование архитектуры 14
3.2. Проектирование базы данных 15
3.3.Эскиз веб-страниц 19
4. РЕАЛИЗАЦИЯ СИСТЕМЫ 20
4.1. Реализация клиента 20
4.2. Реализация API сервера 20
4.3. Взаимодействие с PostgreSQL 21
4.4. Авторизация 23
4.5.Обработка принятия участия 25
4.6.Обработка ставок 26
4.7.Steam-боты 27
4.8.Передача лота победителю 27
5. ТЕСТИРОВАНИЕ 29
5.1. Функциональное тестирование 29
5.2. Автоматизированное тестирование 30
5.3. Ручное тестирование 30
ЗАКЛЮЧЕНИЕ 31
ЛИТЕРАТУРА 32
АКТУАЛЬНОСТЬ ТЕМЫ ИССЛЕДОВАНИЯ
Аукцион - публичная продажа различных товаров, которая производится по заранее установленным правилам. Общим для всех аукционов является принцип состязательности между покупателями. В процессе борьбы между покупателями за право приобрести товар выявляется победитель аукциона, который и приобретает товар [1].
По способу установления цены товара в процессе торгов различают два типа аукционов, приведенных ниже [1].
1. Аукцион с понижением цены (голландский аукцион), победителем которого признаётся лицо, первым согласившееся уплатить предлагаемую на аукционе цену. Именно с голландской системы началась история аукционов, когда чаще всего распродавались остатки имущества и нужно было сбыть все до последней нитки. Также известен как реукцион и аукцион на понижение. В настоящее время почти не проводятся.
2. Аукцион с повышением цены (английский аукцион), победителем которого признаётся лицо, предложившее наивысшую цену — самая распространенная форма аукционов в настоящее время.
Для данного проекта был выбран именно второй тип.
В основе реализуемого интернет-аукциона лежат предметы торговой площадки Steam. Steam - онлайн-сервис цифрового распространения компьютерных игр и программ, разработанный и поддерживаемый компанией Valve [2], который предоставляет открытое API для то- го,чтобы веб-разработчики могли использовать информацию из Steam новыми интересными способами [3].
В интернет пространстве был обнаружен только один интернет- аукцион, в основе которого бы лежали игровые предметы steam, поэтому можно смело утверждать об уникальность проекта. К основным же особенностям реализуемого интернет-аукциона можно отнести следующее:
1) глубокое взаимодействие со steam-API: авторизация на сайте через steam, получение всей необходимой информации о пользователях steam (не запрещается политикой steam), автоматическое генерирование steam-событий и т.д.;
2) пользователям необходимо иметь установленное расширение для того, чтобы снизить шансы мошенничества до нуля.
Вышеперечисленные особенности делают данную работу актуальной и применимой в бизнес-сфере.
ЦЕЛЬ И ЗАДАЧИ ИССЛЕДОВАНИЯ
Целью данной работы является разработка интернет-аукциона steam на программной платформе Node.js. К основным задачам, необходимым для достижения цели, можно отнести следующие задачи, представленные ниже.
1. Провести анализ предметной области.
2. Спроектировать архитектуру и API системы.
3. Верстка интерфейса.
4. Реализовать API сервиса.
5. Провести тестирование API сервиса.
ОБЪЕМ И СТРУКТУРА РАБОТЫ
Общий объем работы составляет 34 страницы, основная часть работы содержит 5 глав. Объем библиографии составляет 26 источников. В главе «Анализ предметной области» был сделан обзор аналогичных проектов и были рассмотрены существующие средства реализации. В главе «Требования к системе» были сформулированы основные требования к разрабатываемой системе. В главе «Архитектура системы» были спроектированы API системы и схема базы данных. В главе «Реализация системы» были рассмотрены основные моменты реализации. В главе «Тестирование» были рассмотрены основные подходы к тестированию системы.
На сегодняшний день существует огромное количество площадок, на которых можно продавать предметы инвентаря steam. Поэтому в данной работе был реализован сервис аукционов с удобным интерефейсом, где можно выставлять на продажу игровые предметы steam. Проект доступен по адресу auction-skin.ru.
Сервис позволяет автоматизировать процесс проведения аукционов, в основе которых лежат предметы торговой площадки Steam. Были выполнены следующие задачи, представленные ниже.
1. Проведен анализ предметной области.
2. Спроектирована архитектура и API систем.
3. Сверстан интерфейс.
4. Реализован API сервиса.
5. Проведено тестирование системы.