Skip to content

Практикум по Web-технологиям. Разработка небольшого Web-приложения.

Notifications You must be signed in to change notification settings

Green-Chan/cmc_web_practicum

Repository files navigation

Как заставить это работать

Подготовка

Необходимо в СУБД PostgreSQL создать пользователя useruser с паролем password и наделить его всеми правами на базу данных web_prac. Для этого можно построчно выполнить все команды из файла /db/create-user-and-db.sql

Сборка и запуск тестов

Выполить

$ ant

в директории проекта.


Практикум по Web-технологиям

Описание задачи

Задача: Разработать небольшое Web-приложение.

Тема: Клиентская база юридической фирмы. Система управления информацией о клиентах и оказываемых им услугах.

Схема БД

Схема БД

client_type_t - перечислимый тип с возможными значениями 'person' и 'organization'.

contact_t - перечислимый тип с возможными значениями 'address', 'phone' и 'email'.

service_type_id - поле текстового типа, потому что для типов предлагаемых услуг хочется иметь осмысленный уникальный код.

Описание страниц

На схеме страниц изображены связи между страницами, основные элементы страниц, а также меню, которое должно присутствовать на каждой странице.

Схема страниц

На Странице клиентов в списке клиентов будут отображаться уникальный идентификатор, тип (организация или физ.лицо), имя (название огранизации или ФИО) и телефоны. При этом поиск будет возможен по всем полям таблицы clients, кроме идентификатора, по контактам клиента, а также по информации об оказанных услугах.

На Странице служащих в списке служащех будут отображаться уникальный идентификатор, ФИО, должность и телефоны. При этом поиск будет возможен по всем полям таблицы employees, кроме идентификатора, по контактам сотрудника, а также по информации об услугах, в которых сотрудник был задействован.

На Странице клиента/Странице служащего будут отображаться все поля таблицы clients/employees и их контакты.

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

На Странице услуги будут отображаться все поля таблицы services, а также имена клиента и типа услуги, соответствующие внешним ключам. Также будет отображаться список работников, задействованных в оказании этой услуги: для каждого работника будет указан идентификатор, имя и описание того, что он делал (из таблицы tasks).

На Странице типов услуг в списке типов услуг будут отображаться код услуги и её название. На Странице типа услуг помимо этого будет дополнительная информация об услуге (из поля service_info).

Сценарии использования

  1. Просмотр списка клиентов (служащих, оказанных услуг или типов услуг)
  • Просмотр всего списка:
    • Нажать в меню Клиенты (Служащие, Услуги или Типы услуг) → Страница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), на которой отображается список всех клиентов (служащих, услуг или типов услуг) и основная информация о них.
  • Просмотр списка клиентов (служащих, услуг или типов услуг), удовлетворяющих некоторым условиям:
    • Нажать в меню Клиенты (Служащие, Услуги или Типы услуг) → Страница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), заполнить форму для поиска и нажать ПоискСтраница клиетнов (Страница служащих, Страница услуг или Страница типов услуг), на которой отображается список подходящих клиентов (служащих, услуг или типов услуг) и основная информация о них.
  1. Манипуляции с информацией о клиенте (служащем, оказанной услуге или типе услуг)
  • Просмотр подробной информации о клиенте (служащем, услуге или типе услуг):
    • Найти в списке клиентов (служащих, услуг или типов услуг) на Странице клиентов (Странице служащих, Странице услуг или Странице типов услуг) (можно воспользоваться поиском, как описано в п.1) интересующего клиента (служащего, услугу или тип услуги) и нажать на него (или кнопку рядом с ним, или ещё как-то, конкретный способ будет определён позже) → Страница клиента (Страница служащего, Страница услуги или Страница типа услуги) с подробной информацией о нём (ней).
    • На Странице услуги также отображается список задействованных служащих, с возможностью перехода на Страницу служащего.
  • Изменение информации о клиенте (служащем, услуге или типе услуг):
    • Попасть на Страницу клиента (Страницу служащего, Страницу услуги или Страницу типа услугу) (как описано в подпункте "Просмотр подробной информации..."), нажать РедактироватьСтраница редактирования клиента (Страница редактирования служащего, Страница редактирования услуги или Страница редактирования типа услуги), изменить нужные поля и нажать Сохранить → (в случае успешного сохранения изменений) Страница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена изменённая информация.
    • На Странице редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги) также можно нажать ОтменитьСтраница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена старая информация, до последнего успешного сохранения изменений.
    • На Странице редактирования услуги (только на ней) можно изменять список зедействованных служащих и описание их задач в рамках оказания этой услуги. Клиента и служащих на этой странице нужно указать с помощью их уникального идентфикатора.
  • Удаление клиента (служащего, услуги или типа услуги) из базы данных:
    • Попасть на Страницу клиента (Страницу служащего, Страницу услуги или Страницу типа услугу) (как описано в подпункте "Просмотр подробной информации..."), нажать УдалитьГлавная страница в случае успешного удаления.
  • Добавление в базу данных нового клиента (служащего, услуги или типа услуги):
    • Нажать в меню Добавить клиента (Добавить служащего, Добавить услугу или Добавить тип услуги) → Страница редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги), изменить нужные поля и нажать Сохранить → (в случае успешного сохранения изменений) Страница клиента (Страница служащего, Страница услуги или Страница типа услуги), на которой отображена внсённая информация о новом клиенте (служащем, услуге или типе услуги).
    • В случае неуспеха: ... нажать СохранитьСтраница редактирования клиента (Страница редактирования служащего, Страница редактирования услуги или Страница редактирования типа услуги) с отображением возникших ошибок.
    • На Странице редактирования клиента (Странице редактирования служащего, Странице редактирования услуги или Странице редактирования типа услуги) также можно нажать ОтменитьГлавная страница.
    • На Странице редактирования услуги (только на ней) можно определить список зедействованных служащих и описание их задач в рамках оказания этой услуги. Клиента и служащих на этой странице нужно указать с помощью их уникального идентфикатора.

About

Практикум по Web-технологиям. Разработка небольшого Web-приложения.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published