Skip to content

This is the sourcecode for a Youtube playlist of native android app called Serial Decoder

Notifications You must be signed in to change notification settings

devMohaned/Serial-Decoder-Youtube

Repository files navigation

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-C8EX9eeqDpyNwmIPU7SbF-WB4g

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

How it look on Localized Language (Another Language other than English)?

Localized.Version.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

Worth Mentions:

If you like this repo, feel free to star it, subcribe to the channel, do charity, just do anything positive :D

Thanks and good luck to all of you!

About

This is the sourcecode for a Youtube playlist of native android app called Serial Decoder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages