{"id":19187010,"url":"https://github.com/petrnohejl/android-stocks","last_synced_at":"2025-10-15T11:46:39.524Z","repository":{"id":139656187,"uuid":"55515027","full_name":"petrnohejl/android-stocks","owner":"petrnohejl","description":"Experimental Android app with MVVM architecture. Purpose of this project is to explore different architectural approaches.","archived":false,"fork":false,"pushed_at":"2020-07-30T20:44:32.000Z","size":389,"stargazers_count":64,"open_issues_count":1,"forks_count":31,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-08T01:45:45.640Z","etag":null,"topics":["android","android-architecture","architecture","data-binding","example","mvvm","mvvm-architecture","sample","showcase"],"latest_commit_sha":null,"homepage":"","language":"Java","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/petrnohejl.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-04-05T14:31:21.000Z","updated_at":"2023-09-08T17:08:54.000Z","dependencies_parsed_at":"2023-07-23T09:01:20.490Z","dependency_job_id":null,"html_url":"https://github.com/petrnohejl/android-stocks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrnohejl%2Fandroid-stocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrnohejl%2Fandroid-stocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrnohejl%2Fandroid-stocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrnohejl%2Fandroid-stocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petrnohejl","download_url":"https://codeload.github.com/petrnohejl/android-stocks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252983753,"owners_count":21835760,"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-architecture","architecture","data-binding","example","mvvm","mvvm-architecture","sample","showcase"],"created_at":"2024-11-09T11:17:27.570Z","updated_at":"2025-10-15T11:46:34.492Z","avatar_url":"https://github.com/petrnohejl.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Stocks [DEPRECATED]\n===================\n\nExperimental Android app with MVVM architecture. Purpose of this project is to explore different architectural approaches and also \"new age\" technologies like Android Data Binding, RxJava, Lambdas, Retrofit, Dagger etc.\n\n\nMain goals of this project\n--------------------------\n\n* Create a good architecture with separate UI and business logic\n* Write well readable, maintainable and testable code\n* Follow OOP principles, SOLID principles, DRY\n* Avoid God classes (no way to have a class with 500+ lines)\n\n\nMVVM architecture\n-----------------\n\nThis project is based on MVVM architecture and uses [Alfonz](https://github.com/petrnohejl/Alfonz) library. [Alfonz Arch module](https://github.com/petrnohejl/Alfonz/tree/dev/alfonz-arch) is basically a wrapper for [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html) library. It provides some additional features and convenient methods. If you are interested in MVVM architecture, you can check my talk about MVVM which I presented at STRV Android Meetup. See the [video record](https://www.youtube.com/watch?v=vnBmdKkMLZw) or [slides](https://speakerdeck.com/petrnohejl/mvvm-architecture-on-android) for more info. [Alfonz Arch module](https://github.com/petrnohejl/Alfonz/tree/dev/alfonz-arch) uses a similar approach which I describe in the presentation.\n\n\nThis project uses\n-----------------\n\n* [Alfonz](https://github.com/petrnohejl/Alfonz)\n* MVVM architecture\n* Data binding\n* Binding adapters\n* RecyclerView\n* ConstraintLayout\n* RxJava\n* Retrolambda\n* OkHttp\n* Retrofit\n* GSON\n* Glide\n* LeakCanary\n\n\nTODO\n----\n\n* 2 way binding\n* Dagger\n* Tests\n* Proguard\n* Travis\n\n\nREST API\n--------\n\nDocumentation:\n\n* [http://dev.markitondemand.com/MODApis/Api/v2/doc](http://dev.markitondemand.com/MODApis/Api/v2/doc)\n\nExamples:\n\n* [http://dev.markitondemand.com/MODApis/Api/v2/Quote/json?symbol=INTC](http://dev.markitondemand.com/MODApis/Api/v2/Quote/json?symbol=INTC)\n* [http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=Intel](http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=Intel)\n\n\nDeveloped by\n------------\n\n[Petr Nohejl](http://petrnohejl.cz)\n\n\nLicense\n-------\n\n    Copyright 2016 Petr Nohejl\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetrnohejl%2Fandroid-stocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetrnohejl%2Fandroid-stocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetrnohejl%2Fandroid-stocks/lists"}