Skip to content

Educational project Development of Android applications in Java and Kotlin from Eltex Academy

License

Notifications You must be signed in to change notification settings

LebedevSergeyVach/EltexSocialMedia

Repository files navigation

Eltex Social Media


The project is written in the Kotlin programming language

Educational project Development of Android applications in Java and Kotlin from Eltex Academy. This project is based on the MVVM architecture (Model-View-ViewModel).

The CRUD has been implemented to work with posts and events in the application. Using Jetpack Preferences DataStore to work with local files on the device. At the moment, a remote server is used to work with CRUD.

To work with the local database SQLite, ORM ROOM is used together with ksp. The Prepopulate your Room database is used in the project for convenient testing.

To work with requests to the server and process the received data in JSON format, the Retrofit2 and OkHttp3 libraries from Square + RxJava3 from ReactiveX are used to implement reactive programming, instead of accumulating Callbacks. The project has been rewritten from reactive programming on Retrofit2 + RxJava3 to standard Retrofit2 + Coroutines (suspend).

The project uses several types of architecture patterns and paradigms: Builder, Observable, Observer, Adapter, Dependency Injection, Single Activity Architecture, Modular Architecture and Reactive Programming.

🚀 The stack of technologies used

kotlin logo retrofit logo rxjava logo gradle logo androidx jetpack logo android logo sqlite logo

Anatoly Spitchenko - Android developer and Course Teacher

Lebedev Sergey Vyacheslav – Kotlin-Developer



Социальная сеть Eltex


Проект написан на языке программирования Kotlin.

Образовательный проект по разработке Android-приложений на Java и Kotlin от Eltex Academy. Данный проект основан по архитектуре MVVM (Model-View-ViewModel).

CRUD был реализован для работа с постами и событиями в приложении. Используется Jetpack Preferences DataStore для работы с локальными файлами на устройстве. На данный момент для работы с CRUD используется удаленный сервер.

Для работы с локальной базой данных SQLite используется ORM ROOM вместе с ksp. The Prepopulate your Room database используется в проекте для удобства тестирования.

Для работы с запросами на сервер и обработкой полученных данных в формате JSON используется библиотеки Retrofit2 и OkHttp3 от Square + RxJava3 от ReactiveX для реализации реактивного программировая, вместо накапливающихся Callback - ов. Проект переписан с реактивного программирования на Retrofit2 + RxJava3 на стандартные Retrofit2 + Coroutines (suspend).

В проекте используется несколько типов архитектурных паттернов и парадигм: Строитель, Наблюдаемый, Наблюдатель, Адаптер, Внедрение зависимостей, Архитектура с одной активностью, Модульная архитектура and Реактивное программирование.

🚀 Стек используемых технологий

kotlin logo retrofit logo rxjava logo gradle logo androidx jetpack logo android logo sqlite logo

Анатолий Спитченко - Android-Разработчик и преподаватель курса