Site icon Android Tutorial Online

A messaging application, a mobile client for the Zulip API

A messaging application, a mobile client for the Zulip API

ChatApp

Description

A messaging application, a mobile client for the Zulip API.

Features

Requirements

To fully work with the Zulip API used in the application, an API key is required. How to get an API key. After receiving the key, you need to add the following lines to the local.properties file:

username=<login>
password=<API-key>
base_url=<URL>

Arhitecture

The application follows the principles of pure architecture, the representation layer implements the UDF architectureusing the Elmslie library. Example implementation of the feature:channel module

Modularization

МодульТип модуляОписание
:appAndroid ApplicationCombines everything necessary for the correct operation of the application.
core:commonJava/Kotlin LibraryCommon classes, for use by other modules.
core:componentsAndroid LibraryUI components, extension functions, base classes.
core:networkAndroid LibraryAPI for processing network requests and responses from a remote data source.
core:databaseAndroid LibraryImplementation of a local database using the Room library.
core:authAndroid LibraryClasses responsible for authorization logic.
core:uiAndroid LibraryResources used by modules.
feature:channelsAndroid LibraryDisplaying channels using Channel Fragment and HolderChannelFragment, the ability to add a channel (AddChannelFragment).
feature:chatAndroid LibraryDisplaying channel/topic messages (ChatFragment), the ability to change the message (Action Fragment and EditMessageFragment), choosing an emoji to add a reaction (SelectEmojiFragment).
feature:profileAndroid LibraryDisplaying the user profile using the Profile Fragment.
feature:usersAndroid LibraryDisplaying information about all users in the organization using the Users Fragment

Технологии

Screenshots

Light theme

Dark theme

GitHub

View Github

Exit mobile version