{"id":29038045,"url":"https://github.com/teamsolutionanalysts/android-snippet","last_synced_at":"2025-06-26T13:07:07.476Z","repository":{"id":40624024,"uuid":"507778254","full_name":"teamSolutionAnalysts/android-snippet","owner":"teamSolutionAnalysts","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-30T05:58:50.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-08T18:27:11.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teamSolutionAnalysts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-27T05:45:32.000Z","updated_at":"2022-06-27T05:46:39.000Z","dependencies_parsed_at":"2022-09-15T09:12:31.131Z","dependency_job_id":null,"html_url":"https://github.com/teamSolutionAnalysts/android-snippet","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/teamSolutionAnalysts/android-snippet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamSolutionAnalysts%2Fandroid-snippet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamSolutionAnalysts%2Fandroid-snippet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamSolutionAnalysts%2Fandroid-snippet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamSolutionAnalysts%2Fandroid-snippet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teamSolutionAnalysts","download_url":"https://codeload.github.com/teamSolutionAnalysts/android-snippet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamSolutionAnalysts%2Fandroid-snippet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262072811,"owners_count":23254320,"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":[],"created_at":"2025-06-26T13:07:06.027Z","updated_at":"2025-06-26T13:07:07.447Z","avatar_url":"https://github.com/teamSolutionAnalysts.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"Read Me\n\n\nThis sample project is created to showcase architecture, environment setup, use of customer configurable and reusable components, how we make api calls, how we handle data , how we map data.  To demonstrate above mentioned purpose we have create simple Login , signup screen flow.\n\n- Environment Setup \nThis sample project is configured for three environment: development, stage and production , this will help us to manage single code for all three different env.\n\n- Login/Signup UI \nin this project we have created login and signup screen using Constrain layout. Which is compatible with all mobile Android\n\n- Project Architecture\nwe are using MVVM architecture so that we can make fragment thiner. We can manage code in different separate area so that it is easy to manage and debug code.\n\n\n- Data binding\nIn Android, the Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.\n\n- Android KTX\nAndroid KTX is a set of Kotlin extensions that are included with Android Jetpack and other Android libraries. KTX extensions provide concise, idiomatic Kotlin to Jetpack, Android platform, and other APIs\n\n- SDP - a scalable size unit\nAn android lib that provides a new size unit - sdp (scalable dp). This size unit scales with the screen size. It can help Android developers with supporting multiple screens\n\n- Koin\nKoin is a dependency injection framework for Kotlin. It is lightweight, can be used in Android applications, is implemented via a concise DSL, and takes advantage of Kotlin features like delegate properties rather than relying on annotations\n\n- Retrofit\nIn Android, Retrofit is a REST Client for Java and Android by Square inc under Apache 2.0 license. Its a simple network library that used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API. It’s easy and fast library to retrieve and upload the data(JSON or any other structured data) via a REST based web service.\n\n- ProgressUtils\nManage api progress when we calling any apis using this class we can show or hide progress when needed \n\n- BindingAdapter\nSome attributes need custom binding logic using binding adapter we can write logic in xml \n\n- FragmentState\n- Declare all fragment in this screen \n\n- ViewUtils\nDeclare all common dialog here and use when we need by just calling that method\n\n- IApiService\nDeclare all apis call and that fields here\n\n- Viewmodelmodule\n Declare all new repository and model class here\n\n- Custom configurable components\n We are using our own create custom configurable components to create UI . So that with minimum line of code we can have different ui with single component. Ex. CustomTextField: this is a custom object using which we can crate different text filed UI.\n\n- Request package\n Declare any request related model in requst package\n\n- Result package\n Declare any response related model in result package\n\n- BaseFragmentFmExt\nUsing base fragment we can mange all fragment like open or close from stack\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamsolutionanalysts%2Fandroid-snippet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteamsolutionanalysts%2Fandroid-snippet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamsolutionanalysts%2Fandroid-snippet/lists"}