FaceTimeClone app that implements Coroutines , mvvm architecture , clean architecture , navigation component , hilt , etc.... using kotlin language

Overview

FaceTimeClone 📹

LinkedIn Badge

This repository contains a FaceTimeClone app that implements Coroutines , mvvm architecture , clean architecture , navigation component , hilt , etc.... using kotlin language

App Overview

Built With 🛠

Project Structure

faceTimeClone      
├── data                   
│   ├── api              
|   │   └── FcmApiService.kt                           
|   |   
│   ├── di                  
|   │   └── module        
|   |       ├──NetworkModule.kt         
|   |       └──ApiModule.kt
|   |
│   ├── repository
|   |   ├──UserRepositoryImpl.kt      
|   |   └──RoomRepositoryImpl.kt
|   |
|   |
|   ├── models             
|   |   ├──ApiResponse.kt   
|   |   ├──SurahDetailsModel.kt 
|   |   ├──SurahModel.kt 
|   |   └──VerseModel.kt 
|   |
|   |
|   |── utils
|   |   └──DateAndTimeUtils.kt 
|
|       
|── domain 
|   ├──enities
|   |   ├──ErrorEnity.kt
|   |   └──Result.kt
|   |
|   |──repository
|   |   ├──UserRepository.kt      
|   |   └──RoomRepository.kt
|   |
|   |
|   |──services   
|   |   └──FirebaseMessagingService.kt
|   |
|   |    
|   |──usecases
|   |  ├──AgreeCallUseCase.kt
|   |  ├──CheckIsLoggedInUseCase.kt
|   |  ├──CheckIsUserInDataBaseUseCase.kt
|   |  ├──CreateFcmRequestUseCase.kt
|   |  ├──CreateRoomCallUseCase.kt
|   |  ├──CreateRoomLinkUseCase.kt
|   |  ├──DeclineCallUseCase.kt
|   |  ├──GetAllCallsUseCase.kt    
|   |  ├──GetUserTokenUseCase.kt  
|   |  ├──KickOutAllRoomUsersUseCase.kt  
|   |  ├──LoginUseCase.kt  
|   |  ├──SignUpUseCase.kt      
|   |  └──UpdateTokenUseCase.kt
|   |
|
|
├── presentation     
│   ├── baseScreen
|   |   ├──MainActivity.kt
|   |   └──MainViewModel.kt
|   |    
│   ├── homeScreen
|   |   ├──HomeFragment.kt
|   |   ├──HomeViewModel.kt
|   |   └──CallsAdapter.kt
|   |
│   ├── homeScreen
|   |   ├──HomeFragment.kt
|   |   ├──HomeViewModel.kt
|   |   └──CallsAdapter.kt
|   |
│   ├── homeScreen
|   |   ├──HomeFragment.kt
|   |   ├──HomeViewModel.kt
|   |   └──CallsAdapter.kt
|   |
│   ├── incomingCallScreen
|   |   ├──IncomingActivity.kt
|   |   └──IncomingCallViewModel.kt
|   |
│   ├── loginScreen
|   |   ├──LoginFragment.kt
|   |   └──LoginViewModel.kt
|   |
│   ├── newFaceTimeScreen
|   |   ├──NewFaceTimeFragment.kt
|   |   └──NewFaceTimeViewModel.kt
|   |
│   ├── outgoingCallScreen
|   |   ├──OutgoingCallActivity.kt
|   |   └──OutgoingCallViewModel.kt
|   |  
│   ├── signUpScreen
|   |   ├──SignUpFragment.kt
|   |   └──SignUpViewModel.kt
|
|
└── FaceTimeCloneApp.kt

LICENSE


Copyright (c) 2022 adelayman1

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.```
You might also like...
Includes jetpack compose, navigation, paging, hilt, retrofit, coil, coroutines, flow..
Includes jetpack compose, navigation, paging, hilt, retrofit, coil, coroutines, flow..

Nextflix-Composable A Clean Architecture App to show use of multi-module-architecture in a Jetpack Compose. The modules are as follow: app: Presentati

Cleanarchitecture MVVM Hilt base - Android Clean Architecture example project
Cleanarchitecture MVVM Hilt base - Android Clean Architecture example project

Android Clean Architecture example project Note: This is project based on MVVM c

A cryptocurrency application with clean architecture (MVVM, Jetpack Compose, Flow, Dagger Hilt)

Amirypto A cryptocurrency application built with Clean architecture and Jetpack component (MVVM, Jetpack Compose, Flow, Hilt, Retrofit). It was made t

Clean MVVM with eliminating the usage of context from view models by introducing hilt for DI and sealed classes for displaying Errors in views using shared flows (one time event), and Stateflow for data

Clean ViewModel with Sealed Classes Following are the purposes of this repo Showing how you can remove the need of context in ViewModels. I. By using

Skeleton project for show the architecture of Android project using MVVM, Clean Architecture and Kotlin coroutine Flow
Skeleton project for show the architecture of Android project using MVVM, Clean Architecture and Kotlin coroutine Flow

ClearScoreDemo Skeleton project for showing the architecture of Android project using MVVM, Clean architecture and Kotlin coroutine Flow App Architect

Android Clean Architechture with MVVM, LiveData, Coroutine, Dagger Hilt, Room, DataStore
Android Clean Architechture with MVVM, LiveData, Coroutine, Dagger Hilt, Room, DataStore

MovKu An application that displays a list of popular movies and detail Concepts Tech Stack Kotlin -A modern programming language that makes developers

ATH Sample is a sample Authentication and Authorization Application with Kotlin Language and MVVM architecture.
ATH Sample is a sample Authentication and Authorization Application with Kotlin Language and MVVM architecture.

ATH Sample ATH Sample is a sample Authentication and Authorization Application with Kotlin Language and MVVM architecture. Overview ATH Sample is a sa

Android application showcasing the MVVM architecture, Clean code using Kotlin, Coroutine, Flow and databinding.
Android application showcasing the MVVM architecture, Clean code using Kotlin, Coroutine, Flow and databinding.

Code4Lyst Android application showcasing the MVVM architecture, Clean code using Kotlin, Coroutine, Flow and databinding. App Architecture MVVM CleanC

Android News app developed using Clean + MVVM architecture
Android News app developed using Clean + MVVM architecture

Clean-MVVM-NewsApp An Android application built using Clean + MVVM architecture. Featured in Components used in the app. Kotlin - As a programming lan

Owner
Android developer(Kotlin & java)
null
Sample application to demonstrate Multi-module Clean MVVM Architecture and usage of Android Hilt, Kotlin Flow, Navigation Graph, Unit tests etc.

MoneyHeist-Chars Sample application to demonstrate Multi-module Clean MVVM Architecture and usage of Android Hilt, Kotlin Flow, Navigation Graph, Room

Hisham 16 Aug 21, 2022
Anime quotes rest api app with mvvm, LiveData, Coroutines, Navigation Component etc

AnimeQuote Anime quotes image rest api app with mvvm, LiveData, Coroutines, Navigation Component, clean achitecture etc An app created during mentorin

Ehma Ugbogo 4 Jun 11, 2021
Sample app that implements MVVM architecture using Kotlin, ViewModel, LiveData, and etc.

TheShard is a project to showcase different architectural approaches to developing Android apps. In its different branches you will find the same app (A movie Listing and detail page) implemented with small differences.

null 17 Aug 19, 2021
A minimal notes application in Jetpack Compose with MVVM architecture. Built with components like DataStore, Coroutines, ViewModel, LiveData, Room, Navigation-Compose, Coil, koin etc.

Paper - A Minimal Notes App A minimal notes application in Jetpack Compose with MVVM architecture. Built with components like DataStore, Coroutines, V

Akshay Sharma 130 Sep 23, 2022
Educational App made with Retrofit, Coroutines, Navigation Component, Room, Dagger Hilt, Flow & Material Motion Animations.

TechHub TechHub is a sample educational app that provides courses for people who want to learn new skills in mostly tech-related areas. The goal of th

Jon Areas 30 Sep 17, 2022
Example Multi module architecture Android project using MVVM, Dynamic Features, Dagger-Hilt, Coroutines and Navigation Components

ModularDynamicFeatureHilt An Android template project following a multi module approach with clean architecture. It has been built following Clean Arc

Mbuodile Obiosio 21 Sep 26, 2022
Jetpack Compose, Kotlin, MVVM, Navigation Component, Hilt, Retrofit2

Jetpack-Compose-Blueprint Jetpack Compose, Kotlin, MVVM, Navigation Component, Hilt, Retrofit2 Apps Packages data : It contains all the data accessing

Jai Khambhayta 14 Jul 31, 2022
Built with Jetpack compose, multi modules MVVM clean architecture, coroutines + flow, dependency injection, jetpack navigation and other jetpack components

RickAndMortyCompose - Work in progress A simple app using Jetpack compose, clean architecture, multi modules, coroutines + flows, dependency injection

Daniel Waiguru 9 Jul 13, 2022
Multi module architecture Android template project using MVVM, Dagger-Hilt, and Navigation Components

ModularAppTemplate An Android template project following a multi module approach with clean architecture. It has been built following Clean Architectu

Mbuodile Obiosio 7 May 23, 2022
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVVM clean architecture.

Delish Screens Tech stack & Open-source libraries 100% Kotlin based + Coroutines + Flow for asynchronous. Dagger Hilt 2.37 Accompanist JetPack Jetpack

Mohamed Elbehiry 283 Sep 22, 2022