Выполненное задание прикрепите ссылкой на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.
Важно: ознакомьтесь со ссылками на главной странице репозитория с домашними заданиями.
Если у вас что-то не получилось, оформите Issue по установленным правилам.
- Создайте на вашем компьютере Gradle-проект.
- Инициализируйте в нём пустой Git-репозиторий.
- Добавьте в него готовый файл .gitignore.
- Добавьте в этот же каталог остальные необходимые файлы.
- Сделайте необходимые коммиты.
- Создайте публичный репозиторий на GitHub и свяжите свой локальный репозиторий с удалённым.
- Сделайте пуш и удостоверьтесь, что ваш код появился на GitHub.
- Ссылку на ваш проект прикрепите в личном кабинете на сайте netology.ru.
- Выполните все задачи, чтобы получить зачёт по теме.
Давайте посмотрим, как настраивать личные сообщения в социальном сервисе.
Вы можете реализовать задачу так, как сочтёте нужным. Но вот несколько требований:
- Должны быть чаты. Чат — это общение с одним человеком, так называемые
direct messages
. - Можно создавать чаты, удалять их, получать список имеющихся чатов.
- В каждом чате есть сообщения от 1 до нескольких (см. раздел ниже).
- Можно создавать сообщения, редактировать их и удалять. Для простоты — можно удалять и свои, и чужие.
- В каждом чате есть прочитанные и непрочитанные сообщения.
Возможности для пользователя:
- Видеть, сколько чатов не прочитано (например,
service.getUnreadChatsCount
). В каждом из таких чатов есть хотя бы одно непрочитанное сообщение. - Получить список чатов (например,
service.getChats
). - Получить список последних сообщений из чатов (можно в виде списка строк). Если сообщений в чате нет (все были удалены), то пишется «нет сообщений».
- Получить список сообщений из чата, указав:
- ID собеседника;
- количество сообщений. После того как вызвана эта функция, все отданные сообщения автоматически считаются прочитанными.
- Создать новое сообщение.
- Удалить сообщение.
- Создать чат. Чат создаётся, когда пользователю отправляется первое сообщение.
- Удалить чат, т. е. целиком удалить всю переписку.
Старайтесь использовать lambda-функции (их напишите сами) и extension-функции (есть в составе Iterable
, Collection
, List
).
Расчёт статистики старайтесь производить как цепочку вызовов lambda-функций. Попробуйте обойтись без for
, while
и do-while
.
Итог: у вас должен быть репозиторий на GitHub, в котором расположен ваш Gradle-проект. Автотесты также должны храниться в репозитории.
Важно: автотесты должны быть, в том числе на исключения.