Write&Send - это онлайн платформа для обмена сообщениями, новостями и картинками между пользователями. Он позволяет в пределах одной страницы следить за новостями, которые публикуются пользователями, делиться ими, комментировать оценивать и сохранять в закладки к себе в профиль, коммуницировать как в личных сообщениях так и в беседах пользователям нашего сервиса.
Личный блог, новостное онлайн сообщество, мессенджер с поддержкой вложений, поиск записей - проблемы которые решает наш продукт.
- Авторизация:
- Пользователю требуется ввести свой логин и пароль для успешной авторизации.
- При неверном вводе данных пользователь должен получить соответствующее уведомление о неправильном логине или пароле.
- Авторизация должна сохраняться для последующих сеансов использования приложения.
- Регистрация:
- При регистрации пользователь должен указать уникальный логин и пароль.
- При вводе уже существующего логина пользователь должен получить ошибку о том, что данный логин занят.
- В процессе регистрации пользователь может заполнить дополнительные данные, такие как имя, фамилию, возраст и т.д.
- Изменение профиля:
- Пользователь может изменять свои данные в профиле, такие как имя, фамилию, возраст и т.д.
- Изменения данных в профиле должны быть сохранены и отображаться после обновления страницы.
- Написать пост:
- Пользователь может создавать новые посты, указывая заголовок, текст и прикреплять изображения или другие медиафайлы.
- Созданные пользователем посты должны отображаться на главной странице приложения.
- Просмотр постов:
- Пользователь должен иметь возможность просматривать все посты, созданные другими пользователями на главной странице.
- Просмотр постов должен быть ограничен только авторизованными пользователями.
- Изменение постов:
- Пользователь может изменять свои собственные посты, изменяя заголовок, текст и прикрепляя/удаляя изображения или другие медиафайлы.
- Изменения в постах должны быть сохранены и отображаться после обновления страницы.
- Удаление постов:
- Пользователь может удалить свои собственные посты.
- После удаления поста, он должен быть недоступен для просмотра другим пользователям.
- Поставить лайки:
- Пользователь может ставить лайки к постам других пользователей.
- Пользователь должен иметь возможность видеть общее количество лайков, полученных каждым постом.
- Оставить комментарии:
- Пользователь может оставлять комментарии к постам других пользователей.
- Комментарии должны быть видны всем пользователям, просматривающим данный пост.
- Добавить друзей:
- Пользователь может добавлять других пользователей в список друзей.
- Пользователь должен иметь возможность удалять друзей из своего списка.
- Обмен сообщениями:
- Пользователь должен иметь возможность отправлять и получать сообщения от других пользователей.
- Сообщения должны быть видны только отправителю и получателю.
- Пользователь должен иметь возможность видеть историю сообщений с каждым контактом.
- Создание сообществ:
- Пользователь может создавать свои собственные сообщества, указывая название, описание и изображение.
- Созданные сообщества должны отображаться на главной странице и быть доступными для просмотра другим пользователям.
- Просмотр сообществ:
- Пользователь должен иметь возможность просматривать список всех существующих сообществ.
- В списке сообществ должна отображаться информация о названии, количестве участников и описании каждого сообщества.
- Изменение сообществ:
- Пользователь может изменять название, описание и изображение своих собственных сообществ.
- Изменения в сообществе должны быть сохранены и отображаться после обновления страницы.
- Удаление сообществ:
- Пользователь может удалить свои собственные сообщества.
- После удаления сообщества, оно должно быть недоступно для просмотра другим пользователям.
Пользователь может:
- Авторизоваться в сервсие
- Зарегистрироваться в сервисе
- Изменить данные в своем профиле
- Написать пост (создание, просмотр, изменение, удаление)
- Ставить лайки к постам
- Оставлять комментарии к постам
- Добавить друзей (добавление, удаление)
- Обмениваться сообщениями
- Создавать сообщества (создание, просмотр, изменение, удаление)
Backend приложение построено на основе Clean architecture, что предполагает разделение приложения на три слоя:
- Repository - взаимодействие с данными(хранение, создание, получение,- изменение);
- Usecase - бизнес логика;
- Delivery - обработка запросов, отправка ответов.
Экраны будущего web-приложения на уровне черновых эскизов. Задача данного упражнения - понять, как с приложением должен взаимодействовать пользовать для упрощения проектирования API. Это могут быть классические wireframes, черновики от руки, наброски в PAINT/псевдографике/Figma.
Ссылочка на Figma с макетами: https://www.figma.com/file/NfEB0IRzh4rGnDJCyw796L/WS_service?type=design&node-id=0-1&mode=design