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...
Clean Architecture Modular Project: MVI + Jetpack Compose + Coroutines + Flows + Hilt + UnitTests
Clean Architecture Modular Project: MVI + Jetpack Compose + Coroutines + Flows + Hilt + UnitTests

NyTimes for Clean Architecture The purpose of this project is to consolidate some of the learned insights throughout the years about the Clean Archite

Multi module architecture Android template project using MVVM, Dagger-Hilt, and Navigation Components
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

Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVVM clean architecture.
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

🪐 Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture.

Ceres 🪐 Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture. Download Gradle Add the dependency bel

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

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 20 Nov 19, 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
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 32 Dec 20, 2022
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 139 Jan 2, 2023
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 25 Nov 23, 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 Dec 15, 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
🍭 GithubSearchKMM - Github Repos Search - Android - iOS - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Dependency Injection, shared KMP ViewModel, Clean Architecture

GithubSearchKMM Github Repos Search - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Depend

Petrus Nguyễn Thái Học 50 Jan 7, 2023
E-Commerce application with MVVM & Clean Arch - Hilt - Coroutines - Retrofit - Firebase - Room DB.

E-Commerce-App E-Commerce application with MVVM & Clean Arch - Hilt - Coroutines - Retrofit - Firebase - Room DB. API Link Project Features MVVM with

Caner Türe 37 Nov 30, 2022