ВВЕДЕНИЕ 3
1 Анализ предметной области 5
1.1 Анализ существующих решений 5
1.1.1 Flickr 5
1.1.2 SmugMug 6
1.1.3 Zenfolio 6
1.1.4 500px 7
1.2 Определение требований к системе 8
1.2.1 Определение функциональных требований к системе 8
1.2.2 Определение нефункциональных требований к системе 8
1.3.1 Серверная часть приложения 9
1.3.2 СУБД 10
1.3.3 ORM 10
1.3.4 Клиентская часть веб-приложения 11
2 Проектирование 12
2.1 Диаграмма вариантов использования 12
2.2 Model-View-Controller 13
2.3 ER-модель базы данных 15
2.3 Аутентификация пользователя 16
3 Разработка 19
3.1 Уровень контроллеров 20
3.1.1 Контроллер Users 20
3.1.2 Контроллер Galleries 26
3.2 Уровень моделей 35
3.2.1 Модель User 35
3.2.2 Модель Gallery 40
3.2.3 Модель Image 43
3.3 Хеширование пароля 44
ЗАКЛЮЧЕНИЕ 50
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
Благодаря повсеместному распространению мобильных телефонов, сейчас практически у каждого человека есть возможность создавать и делиться собственными фотографиями. Желание в публикации личных фотографий могут удовлетворить социальные сети. Однако популярные социальные сети специально спроектированы для потокового потребления информации, и часто они обладают обширным функционалом, не сконцентрированным только на фотографии. Если человек занимается фотографией профессионально или просто использует ее как форму самовыражения, у него или нее может возникнуть потребность в инструменте, функционал которого специально создан для такой формы медиа как фотография.
Целью данной работы является проектирование и разработка веб-приложения, позволяющего пользователям создавать галереи с фотографиями. Данное веб-приложение будет иметь необходимый функционал для создания пользовательских фотогалерей. Оно может быть полезно как для профессиональных фотографов, которым нужно показать свое портфолио клиентам, так и для людей, увлекающихся фотографией, и для которых функционал социальных сетей излишен. Понимание требований пользователей, реализация надежных функций и использование современных веб-технологий позволит создать до ступное и удобное решение, которое упростит процесс организации и обмена коллекциями фотографий.
При создании данного веб-приложения нужно решить следующие задачи:
1. Провести анализ существующих решений;
2. Провести анализ технических средств и определить стек технологий
3. Описать функциональные и нефункциональные требования;
4. Определить архитектуру приложения, компоненты и их взаимодействия;
5. Спроектировать базу данных
6. Разработать веб-приложение
В ходе выполнения выпускной квалификационной работы был проведен анализ существующих решений, определен стек технологий для разработки веб-приложения, описаны требования к приложению, определена архитектура приложения, спроектирована база данных, описана разработка приложения.
Результатом ВКР является веб-приложение для создания фотогалерей пользователями. Веб-приложение дает возможность создавать именованные фотогалереи, загружать и удалять изображения из галерей, удалять галереи, просматривать галереи, а также делиться ими с помощью URL-ссылки.
Существуют дальнейшие способы улучшения системы, например:
• добавление социальных функций, например, возможность добавление комментариев
• Добавление поиска по галереям
• Добавление системы тегов