git_repo_search_demo is demo project that shows basic 2020 approach for building mobile apps with native Android and crossplatform Flutter frameworks.
Basically application by itself it is simple GitHub repositories browser, but inside it is got pretty big up to date tech-stack. From backend application uses both REST and Graphql Git Hub API.
Repository contains from 2 projects:
- git_repo_search_kotlin with native implementation
- git_repo_search_flutter with flutter implementation
- Tech-stack
- Kotlin + Coroutines - perform async operations
- Kodein - dependency injection
- Retrofit - for REST networking
- Apollo GraphQL Client - for GraphQL networking
- Markwon - for markdown parsing
- Jetpack
- Architecture
- Clean Architecture
- MVI (presentation layer)
- Tech-stack
- Injector - dependency injection
- dio - for REST networking
- graphql - for GraphQL networking
- built_value - for plain objects
- flutter_markdown - for markdown parse
- Architecture
- Clean Architecture
- BLOC
To make things work you must get Git hub api keys according to this guide. During registration indicate Authorization callback URL parameter as follows "http://example.com/path"
.
Also create client_keys/lib/client_keys.json file in root folder as follow:
{
"client_id":"/* your client id */",
"client_secret":"/* your client secret */"
}
Both application implementation (kotlin & flutter) will use client_keys/lib/client_keys.json to auth networking with git hub api.