Use Case : Flutter + ORDS + Oracle APEX = iOS and Android Native Apps

CLIENT REQUIREMENTS

  • We have our existing system in Oracle Database and we are using Oracle APEX for our existing applications.
  • We want to build Native Mobile Application (iOS & Android) to build some part of the functionality of Oracle APEX web-application.
  • We want to integrate native Barcode Scanning functionality such that device camera utilize its best capabilities.
  • We want our existing users to access the application, although some features can also be able to accessible without user login.
  • We need some more features like searchable product inventory, offline access, multi-lingual etc.

APEXPERT APPORACH

  • Oracle APEX & ORDS
    • We suggested to use Oracle APEX and Oracle REST Data Services to expose the data via RESTful APIs.
  • OAUTH2
    • We suggested to implement OAuth2 for RESTful web service to securely exchange the data.
  • Flutter
    • We suggested to use Flutter Platform (Made by Google) for Mobile app development.
    • Flutter can generate iOS & Android build with single code base.
    • Flutter provides native compilation with beautiful UI and good performance.

DEVELOPMENT TIME

  1. POC (Proof of Concept) for Barcode Scanning


    STARTED: 22/10/2020
    Before we really jump into anything else, we first build a small application for Barcode Scanning feature. Barcode scanning was the main capabilities we want to make it work without any compromise. Customer tested the POC app and satisfied with the result
    COMPLETED: 24/10/2020

  2. Version 1


    STARTED: 27/10/2020
    Customer gave us green flag to begin with actual development after reviewing the POC app. We first analyzed the web application to identify design, font, icons, color combinations to draft a native mobile app design. Next, prepared project architecture, coding design pattern (MVVM), followed SOLID coding principles to build base structure for entire project. To allow a user to login using valid credentials, we designed & developed a login interface that uses REST API to securely pass the credentials to the server for authorization. Another screen that allows user to scan a barcode and view details of particular product. We developed a list of products screen that shows brief information of each product. We developed a detail screen of particular product to view the detailed information about the product.
    COMPLETED: 11/11/2020

  3. Version 2


    STARTED – 12/11/2020
    We finished Inventory management and also application supports multiple languages to view products, (e.g. English, Finnish, Norwegian, Swedish). User can manage inventory after login. User can add or update inventory amount.
    COMPLETED – 27/11/2020

  4. Version 3


    STARTED – 28/11/2020
    We have provided support to view or search any product when user is not connected to internet. User can perform all the operations during offline, even user can scan the barcode and can search for particular product.
    COMPLETED – 10/12/2020

  5. App Release and Deployment


    In order to make the application available on Apple App Store and Android Play Store, we start the process with beta testing. For Apple (iOS, iPadOS), we used Apple’s TestFlight practice to distribute beta application to testers. For Android, we used Google’s dedicated Internal App Sharing practice to share the application among group of testers. Once customer gives satisfactory response of application testing we started application release with review team. Within a week, we got applications approved and make it live.


APP DOWNLOAD LINKS

5 thoughts on “Use Case : Flutter + ORDS + Oracle APEX = iOS and Android Native Apps

  1. Vincent Reply

    Nice work, we may have a similar requirement, and may I know how did you implement the authentication between Flutter App and APEX user account?

    • jbosamiya Reply

      Thank you Vincent.

      For this specific project – we have used Custom authentication apporach (storing user credentials in DB table).

  2. NILTON MAGANHA Reply

    Hi

    I’d like to create an App in Flutter using the idea of Offline first, storing the data locally in sqlite, to then synchronize with Oracle database when in internet zone. We are already developing in Oracle Apex.
    The app need to receive periodically an upload of data to be used as Combo Box list, or List of Values, once it has several Forms to be filled (CRUD), and also upload photoes, excel or word docs. (that also need to be transferred as sync to the server)
    Do you believe that flutter + ORDS + Apex can be the solution to my challenge?

Leave a Reply

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