Skip to main content

๐ŸŽฏ Unit 1 โ€” Project Overview

Goal Unit Ini

Di akhir unit ini kamu akan:

  • Tahu persis apa yang harus dibangun dan seberapa besar
  • Punya definisi selesai yang jelas
  • Sudah memilih ide proyek
  • Punya rencana kerja yang realistis untuk sisa waktu camp
Prasyarat
  • โœ… TS-SDK Unit 4 selesai โ€” kamu bisa query dan broadcast transaksi
  • โœ… Minimal satu contract sudah ter-deploy dari Phase 2

๐Ÿ“ Seberapa Besar Proyeknya?โ€‹

Lebih kecil dari yang kamu pikirkan.

Kamu punya waktu sekitar satu minggu, dibagi dengan menyelesaikan Learning Track, menghadiri townhall, dan kemungkinan kuliah atau pekerjaan.

Kesalahan paling umum di camp mana pun

Peserta memilih ide ambisius, menghabiskan lima hari untuk arsitektur, lalu tidak punya apa pun untuk didemokan di hari terakhir.

Proyek kecil yang selesai dan berjalan mengalahkan proyek besar yang setengah jadi โ€” untuk kelulusan, untuk portofoliomu, dan untuk apa yang benar-benar kamu pelajari.

Kalau ragu antara dua ide, pilih yang lebih kecil. Kamu selalu bisa menambah fitur kalau waktunya cukup. Kamu tidak bisa menyelamatkan proyek yang tidak jalan.


โœ… Definisi Selesaiโ€‹

Proyekmu dianggap selesai kalau memenuhi ini:

KriteriaDetail
Contract ter-deployDi Injective testnet, alamatnya tercatat
Frontend berjalanBisa dibuka dan dipakai, tidak harus cantik
Wallet terhubungPengguna bisa menghubungkan Keplr atau MetaMask
Minimal satu aksi tulisAda transaksi yang benar-benar mengubah state on-chain
Minimal satu aksi bacaMenampilkan data yang dibaca dari chain
Menangani errorTidak crash saat transaksi gagal atau dibatalkan
READMECara menjalankan, alamat contract, penjelasan singkat
Video demo2โ€“3 menit, menunjukkan fitur yang berjalan
"Tidak harus cantik" itu serius

Antarmuka polos dengan fungsi yang benar-benar berjalan jauh lebih baik daripada antarmuka indah dengan tombol yang tidak melakukan apa-apa.

Kerjakan fungsinya dulu. Percantik hanya kalau waktunya tersisa.


๐Ÿ’ก Pilihan Ide Proyekโ€‹

Opsi A โ€” Celengan Target (direkomendasikan)โ€‹

Lanjutan langsung dari contract Celengan di Phase 2 Unit 1. Kamu sudah punya fondasinya, jadi bisa langsung fokus ke fitur dan frontend.

Fitur inti:

  • Pengguna membuat target tabungan (nama + jumlah target)
  • Siapa pun bisa menyetor ke sebuah target
  • Progress bar menampilkan persentase tercapai
  • Pembuat target bisa menarik dana setelah target tercapai

Kenapa bagus untuk camp: ruang lingkupnya jelas, membangun di atas kode yang sudah kamu pahami, dan mudah didemokan dalam tiga menit.

Opsi B โ€” Papan Komitmen On-Chainโ€‹

  • Pengguna menulis komitmen publik (misalnya "saya akan ship proyek ini")
  • Menyetor sejumlah kecil INJ sebagai taruhan
  • Menandai selesai untuk mengambil kembali taruhannya
  • Papan menampilkan semua komitmen dan statusnya

Kenapa bagus: menunjukkan pola mapping, event, dan penarikan dengan syarat.

Opsi C โ€” Dashboard Pasar Injectiveโ€‹

  • Membaca daftar pasar spot dari indexer
  • Menampilkan orderbook secara langsung
  • Menghitung dan menampilkan spread
  • Hanya baca, tanpa transaksi

Kenapa bagus: paling cepat dikerjakan, dan langsung memakai fitur khas Injective. Catatan: proyek ini murni baca. Kalau kamu memilih ini, tambahkan minimal satu aksi tulis (misalnya menyimpan daftar pasar favorit ke sebuah contract) supaya memenuhi definisi selesai.

Opsi D โ€” Ide sendiriโ€‹

Dipersilakan. Ceklah dengan panitia di grup Telegram supaya ruang lingkupnya masuk akal.

Sudut lokal itu bernilai

Ingat pembahasan di Phase 1: antarmuka bahasa Indonesia, tampilan nilai dalam rupiah, alur onboarding untuk pengguna yang baru pertama kali punya wallet.

Ini bukan sekadar penyesuaian kosmetik โ€” ini celah nyata yang tidak digarap tim global, dan menunjukkan kamu memikirkan pengguna, bukan hanya kode.


๐Ÿ—๏ธ Arsitekturโ€‹

Pilih jalur contractโ€‹

Solidity (EVM)CosmWasm (Rust)
Kalau kamuLebih nyaman dengan JS/SolidityIngin mendalami Rust
DeployHardhat 3 / Foundryinjectived + Docker
Panggil dari frontendwagmi + viem (atau ethers.js)MsgExecuteContractCompat
Tingkat kesulitan๐ŸŸข Lebih mudah๐ŸŸก Lebih menantang
Satu hal yang akan menghemat berjam-jam waktumu

Apa pun jalur yang kamu pilih, jangan pakai RPC https://k8s.testnet.json-rpc.injective.network/ yang masih beredar di banyak tutorial.

Endpoint itu menerima transaksimu โ€” transaksinya benar-benar masuk chain โ€” tapi tidak pernah mengembalikan receipt. Deploy dan setiap transaksi akan terlihat menggantung selamanya padahal sebenarnya berhasil.

Pakai ini: https://testnet.sentry.chain.json-rpc.injective.network/

Detail lengkapnya ada di Unit 2.

Rekomendasi

Pakai Solidity kecuali kamu punya alasan khusus untuk CosmWasm.

Kamu sudah menyelesaikan kedua jalur di Phase 2, jadi persyaratan Learning Track sudah terpenuhi. Untuk guided project, pilih jalur yang membuatmu selesai, bukan yang paling mengesankan.


๐Ÿ“… Rencana Kerjaโ€‹

Sesuaikan dengan waktumu, tapi urutannya penting:

TahapIsiPerkiraan
1. ScopeTetapkan fitur, tulis definisi selesai sendiri30 menit
2. ContractTulis, test lokal, deploy ke testnet3โ€“4 jam
3. Frontend dasarSetup project, koneksi wallet2 jam
4. IntegrasiSambungkan baca & tulis ke contract3โ€“4 jam
5. PolesPenanganan error, status loading1โ€“2 jam
6. DokumentasiREADME, screenshot1 jam
7. DemoRekam video 2โ€“3 menit1 jam
Jangan kerjakan tahap 7 di hari terakhir

Rekam video demo satu hari sebelum deadline. Selalu ada yang tidak beres saat merekam โ€” testnet lambat, faucet kosong, atau bug yang baru ketahuan.

Menyisakan satu hari penyangga adalah perbedaan antara lulus dan tidak.


๐Ÿšซ Batasi Ruang Lingkup Sekarangโ€‹

Tulis daftar ini sebelum mulai ngoding, dan patuhi:

Yang akan saya bangun:

  • ...

Yang TIDAK akan saya bangun (meski tergoda):

  • ...

Contoh daftar "tidak" yang bagus: autentikasi, dukungan multi-bahasa, mode gelap, aplikasi mobile, dukungan multi-chain, panel admin.

Ini teknik profesional, bukan jalan pintas

Menetapkan batas ruang lingkup secara eksplisit adalah salah satu keterampilan paling berharga dalam rekayasa perangkat lunak.

Kalau kamu bisa menunjukkan daftar ini di showcase dan menjelaskan kenapa kamu memotong sesuatu, itu justru menunjukkan kedewasaan teknis โ€” bukan kekurangan.


โœ… Checklist Sebelum Mulai Ngodingโ€‹

  • Ide proyek dipilih
  • Daftar fitur ditulis (maksimal 3โ€“4 fitur inti)
  • Daftar "tidak akan dibangun" ditulis
  • Jalur contract dipilih (Solidity atau CosmWasm)
  • Definisi selesai versimu sendiri sudah tertulis
  • Ada waktu penyangga di jadwal untuk merekam demo

๐ŸŽฏ Rangkumanโ€‹

Yang Harus Kamu Ingat
  • Kecil dan selesai mengalahkan besar dan setengah jadi
  • Definisi selesai: contract ter-deploy ยท frontend jalan ยท wallet terhubung ยท satu aksi baca dan satu aksi tulis ยท error tertangani ยท README ยท video demo
  • Fungsi dulu, tampilan belakangan
  • Pilih Solidity kecuali ada alasan khusus โ€” pilih jalur yang membuatmu selesai
  • Tulis daftar "tidak akan dibangun" dan patuhi
  • Rekam demo satu hari sebelum deadline, bukan di hari-H

Lanjut: Unit 2 โ€” Kontrak & Backend ๐Ÿ‘‰