This project contains a demo messenger for communicating with each other without knowledge of English in English (through a translator), created using Kotlin and Firebase.

The ideology of the project is to improve the level of English by communicating with each other, sending a message in Russian, it is translated into English and saved in both languages. It is possible to send a message in English (if you know how to write a sentence in English) – it will be translated into Russian and saved in both languages. Upon receipt, all messages are displayed in English.

Get started

To get started you need to first create a Firebase project for your app and add the google-service.json file in your project. After adding the google-services.json file, you need to create a database in Firebase Authentication, Firebase Database, Firebase Storage. Firebase Authentication needs to allow user registration by email.


Youtube video playlist application demonstrations

At https://youtube.com/playlist?list=PLHp7NVeHwucb-5u-yGrOEEU5x39rkwq2j , you can go to a youtube video playlist of short demo videos of the application.

Used tech

  • Kotlin
  • Clean Architecture – Clean architecture in Android.
  • MVVM – Architectural pattern.
  • Coroutines – Asynchronous programming.
  • View Binding – Declaratively bind observable data to UI elements.
  • ViewModel – Store UI-related data that isn’t destroyed on app rotations. Easily schedule asynchronous tasks.
  • Lifecycles – Create a UI that automatically responds to lifecycle events.
  • LiveData – Build data objects that notify views when the underlying database changes.
  • Navigation – Handle everything needed for in-app navigation.
  • Firebase – Tools to develop high-quality apps.
  • Dagger Hilt – Standard library to incorporate Dagger dependency injection into an Android application.
  • SDP – Scalable size unit.
  • SSP – Scalable size unit for text.
  • Android Image Cropper – Powerful (Zoom, Rotation, Multi-Source), customizable (Shape, Limits, Style), optimized (Async, Sampling, Matrix) and simple image cropping library for Android.
  • Picasso – Load and cache images by URL.
  • Groupie – Groupie is a simple, flexible library for complex RecyclerView layouts.
  • Ml-Kit Translator – Ml-Kit translator API.
  • Ml-kit Language – Ml-Kit language id identificator for text.

Find this repository useful? ❤

Support it by joining stargazers for this repository ?


View Github