ProjectX
This repository might be a starting point for building Android interview tasks. There is also providing a basic sample template based on layered architecture using Dagger2 and Architecture Components.
Install / Use
/learn @muratcanbur/ProjectXREADME
ProjectX
Android App using The Movie DB API
<img src="https://github.com/muratcanbur/ProjectX/blob/master/art/app_screenshot.png" width="200" height="400">Description
a simple app that contains some basic functionality. It connects to the Movies DB API and fetch current popular TV shows on TMDb.
Tech Stack
- Dagger 2 - Used to provide dependency injection
- Retrofit 2 - OkHttp3 - request/response API
- Glide - for image loading.
- RxJava 2 - reactive programming paradigm
- LiveData - use LiveData to see UI update with data changes.
- Data Binding - bind UI components in layouts to data sources
Overview of app arch.
- follow the rules from Architecture guidelines recommended by Google.
- keep Activity only responsible for UI related code
- ViewModel provides data required by the UI class
- Repository layer provides data to ViewModel classes. (single source of truth)
Unit testing and Application Arch.
<img src="https://github.com/muratcanbur/ProjectX/blob/master/art/app_%20architecture.jpeg" width="500" height="300">. ViewModel and ViewStates classes should be tested.
ViewModel
need to make sure that the correct state changes occur at the right time during remote data request.
ViewState
ViewStates are responsible for reporting changes to the UI.
Blog posts about project
TODO for near future
- [ ] implement local storage example
- [ ] implement coroutines example
Related Skills
node-connect
333.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
333.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.0kCommit, push, and open a PR
