Чат на Андроид
Требуется разработать нативное приложение в Android Studio (Java) для обмена сообщениями между пользователями сайта (знакомства, сайт работает).
Как я вижу приложение:
1) пустой активити 1-го экрана
2) активити авторизации (логин + пароль)
3) через меню (Navigation Drawer), открываем страницу со списком диалогов
4) выбираем диалог и переходим в чат с конкретным пользователем
5) приходит push-уведомление о новом сообщении -> переходим к соответствующему чату
6) через меню открывается страница с настройками: на которой можно включить/отключить уведомления
7) отдельное активити для просмотра фотографий (фото могут быть приложены к сообщению)
Подробнее:
1) Экран списка с диалогами:
- для каждого диалога выводится аватарка, имя, дата последнего посещения сайта, цифра новых сообщений (если есть) (по аналогии как это реализовано на сайте)
- возможность перейти к просмотру диалога, возможность выбрать и удалить диалог/добавить в Игнор список
2) просмотр диалога: выводятся сообщения, к сообщению могут быть приложены фото.
возможность ответить на сообщение и прикрепить несколько фото к сообщению.
3) активити для просмотра фотографий: фото на весь экран, кнопки "вперед", "назад", "закрыть"
Диалоги/сообщения/информация о пользователях (с которым взаимодействует пользователь приложения) хранятся в БД SQLite (подробнее про поля будем общаться с исполнителем, для каждой сущности на сайте сейчас есть поле date_modified). Приложение авторизуется на сайте, получает токен, далее загружает с сайта измененные данные с опред. даты, сайт возвращает данные в формате JSON.
Работа с сетью/БД должна вестись в отдельных потоках.
Думал использовать следующие библиотеки в приложении: для изображений - Glide и обмена данными между потоками - легкий Eventbus. Это обсуждаемо.
На данном этапе, хотелось бы получить минимально работоспособный продукт (оформление и рюшечки - вторично), без публикации в маркете. В дальнейшем надеюсь на долгосрочное сотрудничество.
Вероятно, будет удобно работать поэтапно, например, сделать чат без изображений/уведомлений. Либо можете предложить свой вариант.
Заказчику передаются все исходники (проект Android Studio) и готовый apk-файл.