Товарная биржа
Требуется разработать веб-приложение для поддержки работы товарной биржи. Приблизительная функциональность описана ниже. Также в приложениях есть текущя версия ТЗ для возможности оценки проекта.
Некоторые требования, типа пользовательской документации, наполнения УКТВЭД скорее всего возьмем на себя, либо отдадим другим исполнителям.
*** Система должна поддерживать пять типов пользователей: ***
* посетитель
* пользователь
* брокер
* брокер с ограниченными правами
* администратор
*** Для каждого любого посетителя или авторизованного пользователя система должна предоставлять такие страницы: ***
* Домашняя страница (зачем создан проект, кто его делает, как это работает и т. д.)
* Предложения (страницу просмотра всех активных предложений биржи (без координат участников)
* Документы (законы, регламент работы, конкретная информация по типам товаров, крассификаторы, инструкции, типовые бланки, ...)
* Новости (возможность подписки по RSS, E-mail)
* Ссылки (дружественные ресурсы, государственные структуры, законы)
* Статистика (статистика по сделкам, членам биржи, брокерам ...)
*** Для авторизованного пользователя система должна поддерживать функции ***
* регистрация в системе (контактные данные, напоминание пароля)
* ввод новой заявки купли/продажи/обмена/аукциона
* просмотр активных предложений биржи
* оформление заявки на услуги брокера
* функции электронного общения с брокером по поводу своих заявок
* наличие личного кабинета для управления своими заявками, перепиской с брокером, комментариями ...
* Оформление первичных документов (нужно выяснить какие нужны, например заявку на членство в бирже, договор с брокером, ...)
*** Для брокера система должна поддерживать: ***
* регистрацию брокера администратором системы
* регистрацию брокеров с ограниченными правами броекром либо администратором
* личный кабинет
- управление заявками на брокерские услуги (исполнение и распределение по другим исполнителям)
- история работы с клиентами
- управление заявками на брокерские услуги
- поиск предложений по запросам клиента (поиск многоуровневых сделок, через нескольких контрагентов)
- оформление необходимых документов
*** Для администратора система должна поддерживать: ***
* Управление пользователями (напоминания, отключение/включение входа)
* Резервирование/восстановление из резервной копии
* Роли доступа должны поддерживать разграничение по категориям УКТВЭД
*** Классификатор УКТВЭД ***
* Система должна содержать последний УКТЗЭД со всеми изменениями.
* При занесении товара нужно указывать категорию УКТЗЭД
* При поиске товара можно ограничить поиск по категории УКТЗЭД
*** Требования по оформлению исходного кода ***
* Rails 2.3 со всеми соглашениями (возможно кроме базы данных, префиксы, суффиксы, ..)
* Правильные английские идентификаторы
* Тестовое покрытие всех представлений, которое даст уверенность, что:
o любая доступная страница открывается без ошибки 404
o доступ к защищенным страницам доступные только авторизированным пользователям
o ...
*** Требования по документации ***
* Техническое описание системы
- обзор системы, что и какими средствами сделано
- краткое описание и ссылки для всех дополнительных средств (подключаемые модули, скрипты, программы ...)
* Пользовательская документация
- руководство пользователя по работе с системой
*** Требования по поддержке ***
* Резервирование данных и восстановление из резервной копии
* Синхронизацию кода сайта с хранилищем версий исходного кода
* Проект поддержки системы (типа redmine ... планирование, отслеживание ошибок и изменений, документация ...), также резервирование и восстановление системы
*** Требования по безопасности ***
В документе Ruby On Rails Security Guide (полный вариант доступен в электронной книжке, которую можно получить здесь перечислены основные угрозы вэб-приложений и решения этих проблем с Rails
* сессии
* внедренный SQL
* XSS
* CSRF
* файлы (код дописанный при загрузке картинок файлов, код в ссылках)
Кроме того необходимо защитится на уровне СУБД. У пользователя под которым ходит в базу Rails нужно отобрать права на манипуляцию с метаданными. Также возможно стоит какую-то часть системы шифровать средствами СУБД.
*** Прочие требования ***
* SEO подумать о раскрутке как самой биржи так и конкретных заявок (возможно на основе классификатора)
PS.
Смотрите SRS. Хочется увидеть мотивированную приблизительную оценку сроков и бюджета. Присылайте ваши вопросы и комментарии вместе с формой оценки (также в атаче) по адресу nikolai.voynov собака gmail.com