Dokumentasi pengerjaan Sistem Pelaporan Digital secara menyeluruh dari sisi Android (1)

Andrea
3 min readJul 20, 2024

Tidak bisa dipungkiri bahwa masih banyak sistem-sistem di Indonesia yang masih dilakukan secara manual serperti pencatatan, pelaporan, dll. Padahal apabila sistem tersebut didigitalisasi, akan memberikan efektivitas dan efisiensi yang lebih baik.

Pada kesempatan kali ini, saya hendak mendokumentasikan pengalaman saya dalam membantu pengerjaan digitalisasi pelaporan untuk salah satu unit dalam kepolisian Indonesia. Dokumentasi ini akan menceritakan perjalanan pembuatan aplikasi dari sisi Android.

— Phase 1 (Nov 2021 — Jul 2022) —
Pengerjaan dilakukan oleh team yang terdiri atas 1 project coordinator,1–2 Product Designer, 2-3 Frontend Developer, 2–3 Backend Developer, 2 Android Developer.

Tampilan aplikasi versi awal
Tampilan aplikasi versi awal

Sistem yang diharapkan adalah pelaporan lewat aplikasi Android, dimana aplikasi Android tersebut akan dilekatkan pada setiap kendaraan patroli. Sehingga aplikasi diharapkan memiliki fitur:
- Melaporkan pekerjaan. Laporan diharapkan dalam bentuk media photo, video atau audio
- Melacak posisi setiap kendaraan
- Menerima deskripsi tugas apabila diperlukan
- Aplikasi juga diharapkan dapat terus dijalankan walaupun tidak ada koneksi internet.

Dalam pengerjaan untuk sisi Android, digunakan architecture MVVM. Dimana bussiness logic disimpan dalam Repository & dipanggil oleh View Model lewat Fragment.

Data pelaporan sendiri akan diupload ke server khusus lewat API kemudian laporan dari berbagai device ditampilkan lewat web dashboard.

Beberapa library/framework yang digunakan :

  • Retrofit & OkHttp untuk penggunaan/pemanggilan API
  • Traccar untuk pelacakan posisi tiap device
  • RabbitMQ memberikan message ke aplikasi yang kemudian diterjemahkan dalam bentuk pop up notifikasi
  • WorkManager menghandle request apabila koneksi internet tidak tersedia.
  • AgoraIO library untuk live streaming, online meeting, call/agent help.
  • Hilt untuk dependency injection

Dan juga beberapa libary yang terkait UI seperti CameraView, Exoplayer, NaraeAudioRecorder, Fishbun, Google Places.

Dalam pengerjaannya beberapa library diadaptasi & dimodifikasi ulang (seperti Fishbun & NaraeAudioRecorder) agar sesuai dengan kebutuhan proyek.

Fishbun yang merupakan library untuk file picker tampilannya dirubah agar sesuai dengan design aplikasi. Sehingga library tersebut dimodifikasi dan disematkan sebagai modul terpisah di dalam aplikasi.

Sementara NaraeAudioRecorder dimodifikasi agar dapat menerima audio dalam format OGG. Library hasil modifikasi tersebut saya publish lagi di MavenCentral dengan menggunakan github pribadi saya, sehingga bisa ditambahkan sebagai dependency.

Tampilan aplikasi versi akhir
Tampilan aplikasi versi akhir

Sebagai penutup, dari sisi Android menurut saya ada beberapa improvement yang bisa dilakukan, apabila tersedia cukup waktu & tenaga :
1. Penulisan unit testing untuk metode-metode yang krusial
2. Migration UI lama ke Jetpack Compose
3. Abstraksi untuk kelas-kelas yang hampir mirip (contohnya Fragment, Repository)

Pengunaan web dashboard & aplikasi di lapangan.

Sistem ini juga dikerjakan dalam Phase 2, dimana terdapat lebih banyak fitur-fitur tambahan. Tulisan ini juga tersedia dalam bahasa Inggris.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Andrea
Andrea

No responses yet

Write a response