https://github.com/shubhanshu24510/socialclone
A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.
https://github.com/shubhanshu24510/socialclone
jetpack-compose koin-android kotlin ktor-framework nativeapps socialapp
Last synced: 3 months ago
JSON representation
A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.
- Host: GitHub
- URL: https://github.com/shubhanshu24510/socialclone
- Owner: shubhanshu24510
- Created: 2024-01-08T19:48:49.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-06T11:36:49.000Z (5 months ago)
- Last Synced: 2025-02-15T10:07:59.248Z (3 months ago)
- Topics: jetpack-compose, koin-android, kotlin, ktor-framework, nativeapps, socialapp
- Language: Kotlin
- Homepage:
- Size: 2.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## ππ€ππππ‘ πππππ πΎπ‘π€π£π πΌπ₯π₯
## π² Overview
A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.## π· Previews

### Key Features:
- Responsive UI
- Native Android App
- Material Design Components
- Comprehensive Search
-Auth Features Login and Sign Up
-Channel Home
-Chat Message Stuff
- Like and Comment Features
-Search friends Stuff
- Navigation Rail for Foldable Devices
-Post picture features### Languages, libraries and tools used
* [Kotlin](https://kotlinlang.org/)
* [Kotlin Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html)
* [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization)
* [Ktor client library](https://github.com/ktorio/ktor)
* [Kotlin Coroutine](https://github.com/Kotlin/kotlinx.coroutines)
* [Dagger-Hilt](https://developer.android.com/training/dependency-injection/hilt-android)
* [Retrofit](https://square.github.io/retrofit/)
* [Scarlet](https://github.com/Tinder/Scarlet)
* [KMongo](https://litote.org/kmongo/quick-start/)
* [Ktor](https://ktor.io/docs/client-dependencies.html)
* [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)
* [Koin](https://github.com/InsertKoinIO/koin)
* [Jetpack Compose](https://developer.android.com/jetpack/compose)
* [Coil](https://coil-kt.github.io/coil/)The overall architecture is composed of two layers; UI Layer and the data layer. Each layer has dedicated components and they each have different responsibilities.
The arrow means the component has a dependency on the target component following its direction.### Architecture Overview

Each layer has different responsibilities below. Basically, they follow [unidirectional event/data flow](https://developer.android.com/topic/architecture/ui-layer#udf).
### UI Layer

The UI Layer consists of UI elements like buttons, menus, tabs that could interact with users and [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) that holds app states and restores data when configuration changes.
### Data Layer

The data Layer consists of repositories, which include business logic, such as querying data from the local database and requesting remote data from the network. It is implemented as an offline-first source of business logic and follows the [single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth) principle.
## π― MAD Score
