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):

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:

Decoding Utility Class Before Open Closed Principle

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!

GitHub

View Github