All projects

SIDAKU

Sistem Informasi Database Koperasi dan UMKM

My undergraduate thesis: an Android app and REST API that let small businesses in Batu register with the city's business-service centre and keep their own records.

Client
PLUT-KUMKM Kota Batu
Role
Android and API developer, my thesis
When
Sep 2023 – Jul 2024
SIDAKU on Android: the business directory with its map, regulations, and adding a product
  • Kotlin
  • Jetpack Compose
  • Retrofit
  • Django REST Framework
  • PostgreSQL
  • Docker
  • Cloud Run

What it is

PLUT-KUMKM is Kota Batu's service centre for cooperatives and small businesses (UMKM). It kept their data in a web system that only its staff could edit, and its news, regulations and events lived on a website.

SIDAKU puts that system in the owners' hands: they register on their phone, the centre approves them, and from then on they keep their own business and product data up to date.

My part

The web dashboard already existed. For my thesis at Universitas Brawijaya I added a REST API to it and built the Android app from scratch, from October 2023 to June 2024. A teammate joined for a refactor pass in July 2024.

An API for an existing system

The problem. The centre's Django site rendered pages for its staff. There was nothing a phone app could talk to.

What I did.
  • Added a REST layer with Django REST Framework and JWT sign-in, beside the existing pages.
  • Public endpoints for news, regulations, the business map and the city's statistics.
  • Twelve kinds of record an owner can keep: products, permits, suppliers, staff, machines, training and more.
  • Packaged it in Docker on Google Cloud Run, with PostgreSQL and files in Cloud Storage.

What changed. The app and the staff dashboard read and write the same data.

12

kinds of business record, kept by the owners

Register, get approved, take over

The problem. Anyone can install an app, but only real local businesses should be able to put data into the city's records.

What I did.
  • A two-step sign-up that asks for identity documents (KTP, KK, BPJS) and the business logo.
  • An approval switch for the centre's staff; until it is on, the app shows the account as waiting.
  • Once approved, owners edit their business details and add products with photos.
  • Events owners can join or leave from the app.

What changed. The data comes from the people who run the businesses, and the centre still decides who gets in.

Sign-up, sign-in and the account page of the SIDAKU app
Sign-up, sign-in and the account page. Test data.

The Android app

The problem. Business owners needed one place on their phone for their records and for what the centre publishes.

What I did.
  • Built in Kotlin with Jetpack Compose and Material 3, in a clean MVVM structure with separate navigation for sign-in, news and events.
  • News, regulations you can download as PDF, and a searchable directory of local businesses, each with its map location and products.
  • Sign-in kept with DataStore, and requests through Retrofit; later moved to Kotlin Flow in the refactor pass.

What changed. Version 3.1 covers the whole loop: sign up, get approved, keep records, and follow the centre's news and events.

Adding a product with a photo, and the business's product list
Adding a product, then the product list. Test data.

Have a project in mind?

Tell me what you need built, web or mobile, design to backend. I will come back with a plan.

Hiring a software engineer?

I am open to full-time roles. Let’s talk about your team and the work.