Git Product home page Git Product logo

mina-finansial's Introduction

Mina Finansial

Speed Code Aplikasi Dev Test - Study Case: Mina Finansial + CRUD

Mina Finansial

Results and Demo in Flutter (1 Day Development)

Demo (.GIF) Home Screen Add Tranasctions
Mina Finansial Mina Finansial Mina Finansial

Result in PWA Version (built directly using Flutter)

Mina Finansial Web #1 Mina Finansial Web #2

Notes

Pada Apps sederhana kali ini, Layer Repository tidak digunakan untuk mempercepat proses development, terlebih apps ini hanya memiliki akses ke local storage saja dan tidak membutuhkan interface ke Backend (Server).

Getting Started

Project ini dibuat menggunakan Flutter+Dart dengan BLOC Pattern untuk State Management dan Reactive Approach.

IDE Recommendation

Untuk mempermudah proses development dan cocok untuk spesifikasi hardware development yang minim, disarankan menggunakan Visual Code.

VSCODE Extension

Beberapa extensi yang wajib dan optional untuk Flutter Development.

Required:

  • dart-code.dart-code
  • dart-code.flutter
  • felixangelov.bloc
  • jeroen-meijer.pubspec-assist
  • luanpotter.dart-import

Optional:

  • nash.awesome-flutter-snippets
  • coenraads.bracket-pair-colorizer-2
  • wmaurer.change-case
  • circlecodesolution.ccs-flutter-color
  • gruntfuggly.todo-tree
  • shan.code-settings-sync

Supporting Tools

BLOC Pattern

BLOC Pattern terdiri diri 4 layer utama dan flow yang terintegrasi:

Bloc Pattern

Layer 1 : User Interface

Pada layer ini, berisi semua Additional Widget dan User Interface Widget yang dapat dilihat oleh User. Pada layer ini juga terjadi interaksi terhadap User

Layer 2 : BLOC, Cubit | Presenter

Semua Business Logic berada pada Layer ini. Perlu diperhatikan bahwa layer ini tidak boleh mengkonsumsi UI, karena justru layer ini yang akan dikonsumsi oleh UI.

  • BLOC: Digunakan untuk Logic yang Kompleks dan ingin mengelola Event yang dikirimkan untuk melakukan sebuah proses
  • Cubit: Digunakan untuk Logic yang sederhana, Cubit tidak membutuhkan event.

Layer 3 : Domain | Data Handler

Pengelolaan Data yang didapatkan dari Data Provider. Layer ini digunakan untuk membantu pengelolaan data antara server dan local storage

Layer 4 : Dao, Repository | Data Provider

Layer ini akan melakukan request dan terhubung ke Backend.

  • Dao: Data Access Object. Bertugas untuk mengelola data pada local storage. Contoh: Sqlite atau Hive (NoSql).
  • Repository: Helper untuk melakukan request ke Network / Restful API

Project Architecture

Project Architecture ... Continue

Layer Pattern for Test

3 Tahapan untuk Pengujian:

Layer Test

  • Widget Test: Pengujian terhadap Widget dan User interface. Pengujian ini memungkinkan developer untuk mengotomatisasi proses pengujian terhadap User Interface

  • Integration Testing: Pengujian antara business logic dan data handler

  • Unit Testing: Pengujian untuk setiap fungsi yang ada pada Data Provider

mina-finansial's People

Contributors

ariefwijaya avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

bagasstrongman

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.