3.4.
Схема базы данных
Согласно общим архитектурным принципам, описанным в разделе 3.1, основной таб- лицей в реляционной базе данных приложения является таблица ресурсов resource (см. рис. 3). С ней связаны таблицы плагинов, например, blog и post, хранящие данные для блога. Таблицы профилей (profile) и сообществ (community) также связаны с таблицей re- source. Таблица-словарь атрибутов (attribute_voc) связывается с таблицей профилей (pro- file) и со словарем значений атрибутов (attribute_value_voc). Таблица контактов (contact) обозначает нахождения пользователя в списке контактов другого пользователя, таким об-
разом связывая таблицу profile саму с собой.
Рис. 3. Диаграмма базы данных социальной сети нового поколения
21
Как было сказано выше, проект, разрабатываемый на базе платформы Symfony, делит- ся на некоторое количество модулей, контроллеры которых инициируют выполнение оп- ределенных действий. В процессе разработки были реализованы следующие модули, со- ставляющие ядро системы: «почта», «ресурс», «профиль», «сообщество», «контакты», а также несколько прикладных модулей: «блог», «фотогалерея», «файловое хранилище»,
«личный блог» и «обсуждения».
При описании модуля будет приводиться краткий обзор его функциональности в це- лом, а также методы соответствующего класса-контроллера, являющиеся действиями. При использовании действиями модуля сторонних классов, реализующих бизнес-логику, они также будут описываться в данном разделе.
Модуль «Почта»
Данный модуль реализует функциональность email-клиента, работающего через про- токол IMAP. Так как все сообщения, отправляемые в системе, отправляются с помощью данного протокола, модуль «Почта», является ключевым модулем при взаимодействии пользователей друг с другом.
Класс mailActions модуля содержит следующие методы-действия.
|