{"id":16980002,"url":"https://github.com/vaibhav2002/sociofy","last_synced_at":"2025-04-12T01:43:15.162Z","repository":{"id":52876739,"uuid":"341167904","full_name":"Vaibhav2002/Sociofy","owner":"Vaibhav2002","description":null,"archived":false,"fork":false,"pushed_at":"2021-07-10T12:07:56.000Z","size":43289,"stargazers_count":23,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T21:22:43.991Z","etag":null,"topics":["android","android-application","android-development","firebase","firebase-storage","hacktoberfest","hacktoberfest2021"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vaibhav2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-22T10:52:07.000Z","updated_at":"2024-05-04T22:55:07.000Z","dependencies_parsed_at":"2022-08-23T13:01:53.166Z","dependency_job_id":null,"html_url":"https://github.com/Vaibhav2002/Sociofy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaibhav2002%2FSociofy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaibhav2002%2FSociofy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaibhav2002%2FSociofy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vaibhav2002%2FSociofy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vaibhav2002","download_url":"https://codeload.github.com/Vaibhav2002/Sociofy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505852,"owners_count":21115353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-application","android-development","firebase","firebase-storage","hacktoberfest","hacktoberfest2021"],"created_at":"2024-10-14T01:48:24.755Z","updated_at":"2025-04-12T01:43:15.142Z","avatar_url":"https://github.com/Vaibhav2002.png","language":"Kotlin","funding_links":["https://www.buymeacoffee.com/VaibhavJaiswal","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"readme":"![](media/design.png)\n\n# **Sociofy** \n\n**Sociofy** is a social media Android application 📱 built to demonstrate use of *Modern Android development* tools.\n\n## Setup\nClone the repository on your machine. Open the project on your IDE and connect it to firebase and everything will be setup\n\n## About\n\n It uses firebase as its backend. It uses Firestore which is a NoSQL database to store all data. Firebase Storage to store images and Firebase Auth for the authentication\n\n- Fully functionable. \n- Clean and Simple Material UI.\n- It supports dark theme too 🌗.\n\n![](media/dark_light.png)\n\n## 📸 Screenshots\n\n||||\n|:----------------------------------------:|:-----------------------------------------:|:-----------------------------------------: |\n| ![](media/splash.jpg) | ![](media/login.jpg) | ![](media/register.jpg) |\n| ![](media/feed.jpg) | ![](media/search.jpg) | ![](media/profile.jpg) |\n| ![](media/profile2.jpg) | ![](media/notification.jpg) | ![](media/upload.jpg) |\n| ![](media/postDetail.jpg) | ![](media/profileImg.jpg) | ![](media/editProfile.jpg) |\n\n## Built With 🛠\n- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.\n- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..\n- [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/) - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.\n- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.\n  - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Data objects that notify views when the underlying database changes.\n  - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes. \n  - [ViewBinding](https://developer.android.com/topic/libraries/view-binding) - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.\n  - [DataBinding](https://developer.android.com/topic/libraries/data-binding) - Binds data directly into XML layouts\n- [Dependency Injection](https://developer.android.com/training/dependency-injection) - \n  - [Hilt-Dagger](https://dagger.dev/hilt/) - Standard library to incorporate Dagger dependency injection into an Android application.\n  - [Hilt-ViewModel](https://developer.android.com/training/dependency-injection/hilt-jetpack) - DI for injecting `ViewModel`.\n- [Backend](https://firebase.google.com) - Google Firebase\n  - Firebase Auth - To support email based authentication\n  - Firebase Firestore - A NoSQL database to store all data \n  - Firebase Storage - A clous storage to store all images\n- [Retrofit](https://square.github.io/retrofit/) - A type-safe HTTP client for Android and Java.\n- [GSON](https://github.com/google/gson) - A modern JSON library for Kotlin and Java.\n- [Timber](https://github.com/JakeWharton/timber) - A simple logging library for android.\n- [GSON Converter](https://github.com/square/retrofit/tree/master/retrofit-converters/gson) - A Converter which uses Moshi for serialization to and from JSON.\n- [Glide](https://github.com/bumptech/glide) - An image loading library for Android backed by Kotlin Coroutines.\n- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android.\n\n# Package Structure\n    \n    com.vaibhav.sociofy    # Root Package\n    .\n    ├── data                # For data handling.\n    │   ├── model           # Model data classes \n    │   └── repository      # Single source of data.\n    |\n    ├── di                  # Dependency Injection             \n    │   └── module          # DI Modules\n    |\n    ├── ui                  # UI/View layer\n    │   ├── authorization   # Authorization Activity and its fragments\n    │   ├── homescreen      # Home Activity and its fragments\n    |   ├── profilescreen   # profile Activity and its fragments\n    |   ├── splashscreen    # Splash Activity\n    │   └── uploadscreen    # Upload Activity\n    |\n    └── utils               # Utility Classes / Kotlin extensions\n\n\n## Architecture\nThis app uses [***MVVM (Model View View-Model)***](https://developer.android.com/jetpack/docs/guide#recommended-app-arch) architecture.\n\n![](https://developer.android.com/topic/libraries/architecture/images/final-architecture.png)\n\n---\n\n## If you like my projects and want to support me to build more cool open source projects\n  \n\u003ca href=\"https://www.buymeacoffee.com/VaibhavJaiswal\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=\u0026slug=VaibhavJaiswal\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff\"\u003e\u003c/a\u003e\n\n---\n  \n ## Contact\nIf you need any help, you can connect with me.\n\nVisit:- [VaibhavJaiswal.io](https://vaibhav2002.github.io)\n  \n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibhav2002%2Fsociofy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaibhav2002%2Fsociofy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibhav2002%2Fsociofy/lists"}