A simple application that displays a list of postal shipments and their status

A simple application that displays a list of postal shipments and their status


 Inpost Android App

  • Shipment list
  • Parcel more details
  • Archivement
  • Archive list
  • Rotatable
  • Highlight parcels
  • Sorting by: Status, PickupDate, ExpireDate, StoredDate, Number
  • Pull to refresh
  • Local database
  • Simple dark mode style
  • UnitTest
  • Modern strcuture
  • Modern libraries
  • DocumentsFor looking at the last document code version of this project, you can generate it by Dokka section.Also, you can see the first document version of the project on this link Documentation
  • Remote APIThis app doesn’t have any remote API
  • StructureModel-View-ViewModel (MVVM)
  • Dokka
    • I recommend Html document type
    • I recommend to use the JAVA JDK 18 and set it in your JAVA_HOME environment. after putting it in the system needs a restart
      • DOKKA TERMINAL COMMANDSTypeSyntaxHtml./gradlew.bat dokkaHtmlJava doc./gradlew.bat dokkaJavadocGfm./gradlew.bat dokkaGfm
      • OUTPUT LOCATIONapp -> build -> dokka
  • Location of the keystore is in root directory(inpost.jks).
  • Alias= inpost
  • Key password= inpost2023
  • Key store password= inpost2023
  • Kotlin: A modern and concise programming language for Android development.
  • Coroutine: A Kotlin library that simplifies asynchronous programming and enables the writing of asynchronous code in a sequential manner.
  • Hilt: A dependency injection library for Android that simplifies the process of injecting dependencies into Android components.
  • LiveData: A lifecycle-aware data holder class in Android Jetpack that allows data to be observed for changes and provides automatic updates to the UI.
  • Dokka: A documentation generation tool for Kotlin and Java that generates API documentation in various formats, including HTML and Markdown.
  • Junit: A popular unit testing framework for Java and Kotlin that provides a set of annotations and assertions for writing automated tests.
  • Mockito: A mocking framework for unit testing in Java and Kotlin that allows the creation of mock objects to simulate dependencies and behavior during testing.
  • Room: An SQLite database library for Android that provides an abstraction layer over SQLite and enables efficient database operations using annotations and generated code.
  • Moshi: A modern JSON parsing and serialization library for Kotlin and Java that makes it easy to convert JSON data to Kotlin/Java objects and vice versa.
  • Gson: Gson is a powerful JSON library that simplifies JSON parsing and serialization in Android through a flexible reflection-based approach.💡 Note 💡Using both Moshi and Gson in an Android project offers the benefits of efficient code generation, support for Kotlin-specific features, and flexibility in handling different JSON structures and external dependencies. This ensures compatibility with a wider range of libraries and APIs, enhancing the overall flexibility and functionality of the application. Additionally, having both libraries available allows developers to choose the most appropriate one for each scenario, optimizing performance and convenience during JSON parsing and serialization tasks.💡 Advice 💡In some cases, it may even be beneficial to use both LiveData and Flow together. You can use Flow for data processing and transformation in the background, and then use LiveData to observe and update UI components based on the transformed data.

Leave a Reply

Your email address will not be published. Required fields are marked *