Skip to content
This repository has been archived by the owner on Aug 11, 2022. It is now read-only.
/ Dispatch Public archive

English-practice messenger. Kotlin, Kotlin Flows, Coroutines, Clean Architecture, MVVM, Dagger-Hilt, LiveData, Firebase, Picasso, Ml Kit.

Notifications You must be signed in to change notification settings

alphanication/Dispatch

Repository files navigation

Dispatch

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.

Screenshots

Demonstration application on youtube video

You can see the application in action on youtube video hosting at the link: https://youtu.be/KlT0G5GxQU4 .

Used tech

  • Kotlin
  • Kotlin flows
  • Clean Architecture - Clean architecture in Android.
  • MVVM - Architectural pattern.
  • Dagger Hilt - Standard library to incorporate Dagger dependency injection into an Android application.
  • Coroutines - Asynchronous programming.
  • View Binding - Declaratively bind observable data to UI elements.
  • 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.
  • 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 🌟