Система ticket'ов
Админка
1) Есть понятие группы пользователей: админы, программеры, суппорт
2) Есть список пользователей, у которых задается e-mail/пароль/доп. Информация. Каждый пользователь может принадлежать нескольким группам. Выбор галочками. Логином пользователя является e-mail.
3) Основной интерфейс – это список групп пользователей. Выбираем «Программеры», и там есть возможность создать «тему». Например, «партнерская программа».
4) В каждой подтеме можно создавать подтемы. Например, «Members”.
5) В каждой подтеме можно создать запись. Запись – это кусок текста. В нем пишем задание, описание или комментарии.
6) Получается как бы древовидная структура. Но отображать деревом не надо. Кликаем – обновляется страница (попадаем на уровень глубже). Все сообщения (записи) в подтеме отображаются на одной странице и отсортированы от новых до более поздних.
7) На самой первой странице изначально показываем дерево тем-подтем. Должна быть возможность сортировать по дате от нового к старому и наоборот. И по статусу. Про статус тикета (подтемы) в следующем пункте.
8) У каждой подттемы, в которой уже идут записи, есть понятие статуса: open/closed. Все непрочитанные вообще тикеты показываются жирным шрифтом. Прочитанные – обычным. Тема становится «новой/непрочитанной», когда в ней появляется или обновляется одна из записей (ответ).
9) У каждой подтемы есть еще флаг: выполнено или нет (done / in progress). Админ может менять статус подтемы. Сделанные подтемы отмечаются иконкой и наклонным шрифтом в списке.
10) Когда есть изменения в теме, то на e-mail всем участникам обсуждения в теме, отсылается текст нового сообщения и ссылка на саму ветку со всеми сообщениями.
11) Админ может создавать и удалять темы/подтемы.
12) Для каждой подтемы (последнего уровня) должна быть возможность выбрать, какие пользователи подписаны на данную тему. Список пользователей и галочки.
Пользовательский интерфейс
1) форма логина. После логина выводится список тем.
2) Кликнули на теме – обновляется страница и выводится список тем.
3) В каждой теме видим вверху форму ответа (добавления нового сообщения). А далее список всех сообщений в хронологическом порядке от самых новых до более старых.
4) Для пользователя существует возможность отредактировать только собственные сообщения. Удалять ничего нельзя.
5) Когда появилось сообщение, то отсылаем все пользователям, участникам темы уведомление о новом сообщении (всем, кроме автора сообщения).
6) Есть еще раздел, в котором видны контакты: e-mail и доп. Информация. Всех пользователей. Получается типа адресной книги. И указывается, к каким группам относится этот человек. Еще рядом указывается, на какие темы человек «подписан».
7) Юзер автоматически подписывается на тему, если в ней ответит.
8) У пользователя должна быть возможность подписаться/отписаться от подтемы.