В этом Продвинутом курсе вы узнаете, как создать клиент-серверное андроид приложение для онлайн чата и обмена сообщениями самостоятельно, независимо от опыта в программировании. В курсе содержится пошаговая инструкция по разработке мобильного приложения, разработке и развертыванию серверной части, а также настройке push-уведомлений. Приложение «Чат-мессенджер» разрабатывается в соответствии с принципами Clean Architecture с использованием таких подходов, технологий и инструментов:
- Языки разработки: Kotlin, PHP
- Разработка клиентского приложения в Android Studio
- Архитектура Model-View-ViewModel (MVVM)
- Clean Architecture
- Использование Kotlin coroutines
- Android Architecture Components: LiveData, Room, ViewModel, Data Binding
- Dependency injection с Dagger 2
- Разработка серверной части (REST API) на PHP
- Взаимодействие с удаленной базой данных MySQL
- Настройка push-уведомлений с FCM
Чему вы научитесь в этом курсе?
В этом курсе вы сможете создать мобильное клиент-серверное андроид-приложение и серверную часть для него. Приложение используется для общения путем обмена сообщениями в чате. Есть возможность отправки фотографий, добавления друзей, получения уведомлений о пропущенных сообщениях и подтверждениях дружбы и т.п. Взаимодействие с сервером построено с использованием типичных современных подходов. После прохождения курса вы будете знать:
- как создать клиент-серверное android-приложение,
- как построить архитектуру Model-View-ViewModel (MVVM)
- как работать с LiveData, Room, ViewModel, Data Binding
- как обрабатывать сетевые запросы с Kotlin coroutines
- как уменьшить связность с помощью Dagger 2
- как разработать серверную часть (REST API) на PHP,
- как работать с удаленной базой данных MySQL,
- как настроить push-уведомления с FCM
По итогам прохождения курса вы, по сути, освоите full-stack — полный цикл разработки клиент серверных приложений. Во-первых, научитесь создавать android-приложения в среде разработки Android Studio. Во-вторых, научитесь создавать серверную часть на языке PHP, разворачивать ее на удаленном сервере, настраивать базу данных MySQL и push-уведомления FCM.
Какой функционал приложения?
Приложение представляет чат и мессенжер с возможностью авторизации по email и паролю. Для всех полей ввода реализована валидация. Пароль хранится в базе данных в зашифрованном виде. Если вы забыли пароль, можно запросить временный пароль на ваш email, указанный при регистрации. После авторизации можно сменить пароль на более надежный.
Для навигации по приложению используется боковая панель Navigation Drawer с отображением аватара и основной информации о пользователе. При тапе на хедере можно перейти в аккаунт текущего пользователя, где можно установить или заменить аватар, статус, имя пользователя, email и пароль.
Приложение открывается на экране «Чаты». Для начала общения нужно добавить собеседника, указав его email. Если указанный пользователь есть в базе данных, ему придет оповещение в приложении. Если такого пользователя нет, будет предложено отправить ему email со ссылкой на приложение.
После добавления пользователей они появятся на экране «Друзья». В списке отображается аватар, имя пользователя, статус и состояние «В сети». По тапу на элементе списка открывается окно чата. В чате можно общаться в олайне, отправлять и получать текстовые сообщения с поддержкой эмоджи, а также фотографии из галереи или с камеры непосредственно.
При тапе фото разворачивается на весь экран. При тапе на имени пользователя можно открыть экран информации о пользователе. Здесь можно принять предложение дружбы или удалить пользователя из друзей. Аватарки кликабельны.
Экран «Чаты» отображает список чатов. В списке отображается аватар, имя пользователя, текст и время последнего сообщения. При тапе открывается чат. В заголовке чата отображается время, когда пользователь был онлайн. Если собеседник закроет чат, ему будут отправлены уведомления о всех новых сообщениях. Длинный тап на сообщении выделяет его для возможности удаления.
Приложение разрабатывается в соответствии с современными подходами в архитектуре, дизайне и разработке клиент-серверных приложений с использованием актуальных приемов, технологий и инструментов. Подробнее ознакомиться с примером приложения из данного курса можно будет по ссылке в Google Play. Публикация приложения планируется в ближайшее время.
Кому подойдет курс?
Курс подойдет как начинающим, так и более опытным разработчикам. Можно просто пошагово создать приложение без знаний программирования, используя исходный код проекта и наши инструкции. Но если вы уже обладаете некоторыми знаниями, полученными на нашем канале, то этот курс поможет их закрепить, и дополнительно вы сможете самостоятельно создать android-приложение «Чат-мессенджер». Для уверенного понимания происходящего в курсе достаточно будет знания основ языков Java, Kotlin, PHP, и основ андроид-разработки. В курсе будут даваться ссылки на материалы для ознакомления с основами и углубления знаний по теме.