A Youtube playlist of native android app called Serial Decoder
Serial-Decoder-Youtube
This is the sourcecode for a Youtube playlist of native android app called Serial Decoder
Playstore: https://play.google.com/store/apps/details?id=com.serial.decoder
Youtube: https://www.youtube.com/playlist?list=PL_97vI-C8EX-vzanEBv-8opNaW-HXEdKk
Figma: https://www.figma.com/file/BH7pkGmfBIkYUyV5F0mr8q/Serial-Decoder?node-id=49%3A2&t=94Jrykv7hLwY20yO-0
Currently (Finished):
- Low Fidelity vs High Fidelity Designs using Figma
- Architecture
- Localization to multi-language
- Permission Handling
- How Does QR code work (src: https://www.javatpoint.com/generating-qr-code-in-java)
User Interface (Finished):
- Bottom Sheet
- Pager layout (ViewPager in XML)
- Simple Animation
- Adaptive Layout
- Theming
- Material Design Components
Side Effects (Finished):
- DisposableEffect
- LaunchedEffect
Android Based Tech (Finished):
- Navigation Component
- SharedPreference vs Preference Data Store vs Proto Data Store
- Deep Link (communication with other apps/website)
- Google’s MLKit for barcode scanning (3rd party)
- CameraX & Camera2
Dependency Injection (Finished):
- Dagger Hilt Framework
Design Patterns (Finished):
- Factory Design Pattern
- Strategy Design Pattern
===============================================================================
Testing (Finished but not recorded on Youtube):
- Instrumentation Test (User Interface)
- Unit Testing (Local JVM)
- Testing Corountines
- Test Doubles
- Manual DI vs Dagger Hilt Framework
Testing is not included in this version yet, to view the test cases, check the other repo, which I essentially made for myself:
https://github.com/devMohaned/SerialDecoderYT
SerialDecoderYT repo is the same as this one, except for 2 aspects:
- Testing (I did not record Testing on youtube yet, so there’s no testing in this repo)
- Feature Decoding The only difference in the feature_decoding package, where on Youtube I applied the 2 design patterns, Factory, and Strategy design patterns to improve the scalability of the app to large scale opportunities, other than that they’re all the same on terms of features
Feel free to check the source code for the testing here: https://github.com/devMohaned/SerialDecoderYT/tree/Finished-App/app/src
====================================================================
Polishing (Work In Progress):
- Made App Icon (Finished)
- ASO (WIP)
How it looks on Phone?
App.on.Normal.Phone.mp4
How it looks on Tablet?
App.on.Tablet.mp4
Before Open Closed Principle of SOLID:
Image:
Video (Before Open Closed Principle):
Before.OCD.mp4
Video (After Open Closed Principle):
After.Open-Closed.Principle.mp4
If you like this repo, feel free to star it, subcribe to the channel, do charity, just do anything positive ?
Thanks and good luck to all of you!