Skip to content

Technical Specification

Vadim Ryazantsev edited this page Apr 24, 2017 · 23 revisions

ТЕХНИЧЕСКОЕ ЗАДАНИЕ САЙТА «LifeLog»

Структура документа:

  1. Общие положения
    1.1 Назначение документа
    1.2 Описание проекта
    1.3 Цели проекта
    1.4 Структура сайта

  2. Требования к графическому дизайну сайта
    2.1 Общие требования
    2.2 Типовые навигационные и информационные элементы
    2.3 Шапка сайта
    2.4 Основное поле контента
    2.5 Подвал сайта
    2.6 Требования к оформлению структурных блоков сайта

  3. Функциональные требования
    3.1 Общие требования
    3.2 Функциональные возможности разделов
    3.3 Типовые статические страницы

  4. Требования к процессу разработки

  5. Требования к видам обеспечения
    5.1 Требования к технической структуре проекта
    5.2 Требования к информационному обеспечению
    5.3 Требования к лингвистическому обеспечению

  6. Состав и содержание работ по созданию сайта

  7. Требования к приемке-сдаче проекта
    7.1 Требования к наполнению информацией
    7.2 Требования к персоналу
    7.3 Порядок предоставления дистрибутива

1. Общие положения

1.1 Назначение документа

В настоящем документе приводится полный набор требований к реализации сайта «LifeLog». Начало разработки проекта подтверждает согласие заказчика и исполнителя с нижеследующими фактами и условиями:

  1. Исполнитель подготовил и разработал настоящий документ, именуемый Техническое Задание, который содержит перечень требований к выполняемым работам.
  2. Заказчик согласен со всеми положениями настоящего Технического Задания.
  3. Заказчик не вправе требовать от Исполнителя в рамках текущего Договора выполнения работ либо оказания услуг, прямо не описанных в настоящем Техническом Задании.
  4. Исполнитель обязуется выполнить работы в объёме, указанном в настоящем Техническом Задании.
  5. Заказчик не вправе требовать от Исполнителя соблюдения каких-либо форматов и стандартов, если это не указано в настоящем Техническом Задании.
  6. Все неоднозначности, выявленные в настоящем Техническом задании после его подписания, подлежат двухстороннему согласованию между Сторонами. В процессе согласования могут быть разработаны дополнительные требования, которые оформляются дополнительным соглашением к Договору и соответствующим образом оцениваются.

1.2 Описание проекта

LifeLog - это комплексный ресурс, который предоставит пользователям возможность:

  • публиковать записи в блоге
  • вести личный дневник
  • ставить цели
  • планировать

Назначение сайта:

  • предоставление возможности создавать каждому отдельному зарегистрированному пользователю публикации, а так же управлять ими;
  • предоставление каждому отдельному зарегистрированному пользователю системы для управления целями и задачами, планами, календарем;

Целевая аудитория сайта:
Возрастная категория посетителей: от 18 лет и старше
В основном мужчины, которые связаны с IT-сферой;
Люди, которые предпочитают делиться своими публикации на элегантно-оформленном сайте;
Люди с высоким и низким уровнем дохода;
Работодатели, которые интересуются профессиональными достижениями кандидатов на должности разработчиков;
Разработчики, которые интересуются проектами с использованием языка программирования, с помощью которого функционирует данный проект;

Польза проекта в учебных целях:

  • Улучшение навыков просчета естимейта
  • Использование подхода TDD & BDD
  • Возможность эксплуатации MySQL
  • Возможность эксплуатации отличных от Devise систем аутентификации

1.3 Цели проекта

  • Расширение личного портфолио заказчика (исполнителя) данным проектом
  • Удобное и профессиональное форматирование записей
  • Возможность распоряжаться личными планами и целями в специально созданной удобной и функциональной системе
  • Улучшение навыков разработки для заказчика (исполнителя)

1.4 Структура сайта

  1. Landing page
  2. Новости
  3. Пользователи
  4. О сайте
  5. Контакты
  6. Публикации
  • посты
  • категории
  • комментарии
  • теги
  • подписка
  1. Дневник
  • посты
  • категории
  • комментарии
  • теги
  1. Цели
  • цели
  • подцели
  • задачи
  • подзадачи
  • категории
  1. Планирование
  • в разработке...

2. Требования к графическому дизайну сайта

2.1 Общие требования

При разработке сайта в качестве основы дизайна должен быть готовый публичный бесплатный модифицированный html-шаблон 'Flatkit UI 4', а так же в качестве посадочной страницы должен использоваться модифицированный бесплатный html-шаблон 'Transit'. Допускаются не крупные модификации, а так же использование встроенных UI-компонентов шаблона для дополнения и модификации представлений сайта. Основные разделы сайта должны быть доступны после регистрации пользователя на сайте. Первая страница должна быть приземляющей (Landing page), на которой должны быть описаны преимущества использования сайта а также все основные функции и разделы В дизайне сайта не должны присутствовать:

  • мелькающие баннеры;
  • много сливающегося текста;
  • тёмные и агрессивные цветовые сочетания и графические решения.

2.2 Типовые навигационные и информационные элементы

Landing page имеет следующие навигационные элементы:

  • навигационное меню
  • основной баннер приветствия
  • основные преимущества сайта
  • количественные показатели сайта
  • форма для регистрации
  • подвал

Страница пользователя имеет:

  • навигационное меню
  • основное поле для контента

2.3 Шапка сайта

Landing page должен содержать такие элементы:

  • Главная (ссылка на главную страницу)
  • Новости (ссылка на основного пользователя-представителя сайта)
  • Репозиторий (ссылка на репозиторий в GitHub)
  • О сайте
  • Контакты

Основная страница пользователя должна содержать:

  • Логотип или название сайта
  • Публикации
  • Дневник
  • Цели и задачи
  • Планирование
  • Мини-фото текущего пользователя с меню

2.4 Основное поле контента

Основное поле контента может быть отображено в 2-х вариантах:

  • стандартный компактный вид
  • расширенный вид При расширенном виде основное поле контента растягивается на весь экран по ширине.

Так же должна присутствовать опция активации отображения на весь экран, а так же 2 темы оформления сайта: дневная и ночная

2.5 Подвал сайта

В подвале Landing page должны располагаться ссылки навигационной панели, основные функциональные разделы сайта, информационные ссылки о данном проекте, а так же ссылки системы аутентификации

2.6 Требования к оформлению структурных блоков сайта

Оформление блока 'Публикации' Оформление блока 'Дневник' Оформление блока 'Цели и задачи' Оформление блока 'Планирование'

3. Функциональные требования

3.1 Общие требования

Всё связанное с аутентификацией:

  • гем CanCan либо любая альтернатива devise (проверка вьюх)
  • OAuth с Google
  • регистрация, вход и редактирование профиля
  • Возможность задать права администратора
  • Возможность скрывать свою страницу
  • Возможность указать имя и фамилию (одно поле)
  • Наличие фотографии
  • Вьюхи подогнаны под дизайн
  • Включение\Отключение блоков сайта
  • Просмотр подписок и возможность отписаться
  • Возможность указать статус \ местоположение \ описание(био)
  • Создать пользователя 'LifeLog' и на его странице размещать новости сайта

3.2 Функциональные возможности разделов

Функции блока 'Публикации' Функции блока 'Дневник' Функции блока 'Цели и задачи' Функции блока 'Планирование'

3.3 Типовые статические страницы

  • Новости (ссылка на юзера LifeLog)
  • Исходный код (ссылка на репо)
  • Пользователи
  • О сайте
  • Контакты (+ форма обратной связи)

4. Требования к процессу разработки

  • Первоочередное написание тестов на реализуемый функционал
  • Модульность приложения. Приложение будет дополняться новыми разделами, которые будут представлять из себя подключаемые блоки

5. Требования к видам обеспечения

5.1 Требования к технической структуре проекта

Технический стек:

  • CI
  • TDD & BDD
  • RSpec & Cucumber
  • Test coverage & CodeClimate & Rubocop
  • I18n

5.2 Требования к информационному обеспечению

Схема базы данных

5.3 Требования к лингвистическому обеспечению

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

6. Состав и содержание работ по созданию сайта

Последовательность работ

7. Требования к приемке-сдаче проекта

7.1 Требования к наполнению информацией

Исполнитель обеспечивает обработку иллюстраций для приведения их в соответствие с техническими требованиями и HTML-верстку подготовленных материалов. Сканирование, набор и правка-вычитка текстов, ретушь, монтаж, перевод и другие работы могут быть выполнены Исполнителем на основании дополнительного соглашения (после просмотра имеющихся у заказчика материалов). После сдачи системы в эксплуатацию информационное наполнение разделов, осуществляется на основании договора на поддержку сайта. Объем текста и количество иллюстраций в других типах разделов определяется предусмотренной настоящим ТЗ структурой данных и уточняется на этапе согласования дизайн-концепции

7.2 Требования к персоналу

Для эксплуатации веб-интерфейса системы динамического управления наполнением от администратора не должно требоваться специальных технических навыков, знания технологий или программных продуктов, за исключением общих навыков работы с персональным компьютером и стандартным веб-браузером (например, MS IE 6.0 или выше). Администратор, оператор: уверенный пользователь сети Интернет, знание Microsoft Word. Прочие пользователи: уверенный пользователь сети Интернет

7.3 Порядок предоставления дистрибутива

По окончании разработки Исполнитель должен предоставить Заказчику ссылку на запущенный и полностью готовый к эксплуатации сайт, расположенный по адресу 'lifelog.com.ua'. Так же, весь исходный код данного проекта будет размещен в репозитории на GitHub в свободном доступе

Clone this wiki locally