Необходимо в СУБД PostgreSQL создать пользователя useruser с паролем password и наделить его всеми правами на базу данных web_prac. Для этого можно построчно выполнить все команды из файла /db/create-user-and-db.sql
Выполить
$ ant
в директории проекта.
Задача: Разработать небольшое Web-приложение.
Тема: Клиентская база юридической фирмы. Система управления информацией о клиентах и оказываемых им услугах.
client_type_t - перечислимый тип с возможными значениями 'person' и 'organization'.
contact_t - перечислимый тип с возможными значениями 'address', 'phone' и 'email'.
service_type_id - поле текстового типа, потому что для типов предлагаемых услуг хочется иметь осмысленный уникальный код.
На схеме страниц изображены связи между страницами, основные элементы страниц, а также меню, которое должно присутствовать на каждой странице.
На Странице клиентов в списке клиентов будут отображаться уникальный идентификатор, тип (организация или физ.лицо), имя (название огранизации или ФИО) и телефоны. При этом поиск будет возможен по всем полям таблицы clients, кроме идентификатора, по контактам клиента, а также по информации об оказанных услугах.
На Странице служащих в списке служащех будут отображаться уникальный идентификатор, ФИО, должность и телефоны. При этом поиск будет возможен по всем полям таблицы employees, кроме идентификатора, по контактам сотрудника, а также по информации об услугах, в которых сотрудник был задействован.
На Странице клиента/Странице служащего будут отображаться все поля таблицы clients/employees и их контакты.
На Странице услуг в списке услуг будут отображаться код типа услуги, имя клиента, даты начала и конца оказания услуги.
На Странице услуги будут отображаться все поля таблицы services, а также имена клиента и типа услуги, соответствующие внешним ключам. Также будет отображаться список работников, задействованных в оказании этой услуги: для каждого работника будет указан идентификатор, имя и описание того, что он делал (из таблицы tasks).
На Странице типов услуг в списке типов услуг будут отображаться код услуги и её название. На Странице типа услуг помимо этого будет дополнительная информация об услуге (из поля service_info).
- Просмотр списка клиентов (служащих, оказанных услуг или типов услуг)
- Просмотр всего списка:
- Нажать в меню Клиенты (Служащие, Услуги или Типы услуг) → Страница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), на которой отображается список всех клиентов (служащих, услуг или типов услуг) и основная информация о них.
- Просмотр списка клиентов (служащих, услуг или типов услуг), удовлетворяющих некоторым условиям:
- Нажать в меню Клиенты (Служащие, Услуги или Типы услуг) → Страница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), заполнить форму для поиска и нажать Поиск → Страница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), на которой отображается список подходящих клиентов (служащих, услуг или типов услуг) и основная информация о них.
- Манипуляции с информацией о клиенте (служащем, оказанной услуге или типе услуг)
- Просмотр подробной информации о клиенте (служащем, услуге или типе услуг):
- Найти в списке клиентов (служащих, услуг или типов услуг) на Странице клиентов (Странице служащих, Странице услуг или Странице типов услуг) (можно воспользоваться поиском, как описано в п.1) интересующего клиента (служащего, услугу или тип услуги) и нажать на него (или кнопку рядом с ним, или ещё как-то, конкретный способ будет определён позже) → Страница клиента (Страница служащего, Страница услуги или Страница типа услуги) с подробной информацией о нём (ней).
- На Странице услуги также отображается список задействованных служащих, с возможностью перехода на Страницу служащего.
- Изменение информации о клиенте (служащем, услуге или типе услуг):
- Попасть на Страницу клиента (Страницу служащего, Страницу услуги или Страницу типа услугу) (как описано в подпункте "Просмотр подробной информации..."), нажать Редактировать → Страница редактирования клиента (Страница редактирования служащего, Страница редактирования услуги или Страница редактирования типа услуги), изменить нужные поля и нажать Сохранить → (в случае успешного сохранения изменений) Страница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена изменённая информация.
- На Странице редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги) также можно нажать Отменить → Страница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена старая информация, до последнего успешного сохранения изменений.
- На Странице редактирования услуги (только на ней) можно изменять список зедействованных служащих и описание их задач в рамках оказания этой услуги. Клиента и служащих на этой странице нужно указать с помощью их уникального идентфикатора.
- Удаление клиента (служащего, услуги или типа услуги) из базы данных:
- Попасть на Страницу клиента (Страницу служащего, Страницу услуги или Страницу типа услугу) (как описано в подпункте "Просмотр подробной информации..."), нажать Удалить → Главная страница в случае успешного удаления.
- Добавление в базу данных нового клиента (служащего, услуги или типа услуги):
- Нажать в меню Добавить клиента (Добавить служащего, Добавить услугу или Добавить тип услуги) → Страница редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги), изменить нужные поля и нажать Сохранить → (в случае успешного сохранения изменений) Страница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена внсённая информация о новом клиенте (служащем, услуге или типе услуги).
- В случае неуспеха: ... нажать Сохранить → Страница редактирования клиента (Страница редактирования служащего, Страница редактирования услуги или Страница редактирования типа услуги) с отображением возникших ошибок.
- На Странице редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги) также можно нажать Отменить → Главная страница.
- На Странице редактирования услуги (только на ней) можно определить список зедействованных служащих и описание их задач в рамках оказания этой услуги. Клиента и служащих на этой странице нужно указать с помощью их уникального идентфикатора.