Skip to content

Latest commit

 

History

History
294 lines (201 loc) · 7.22 KB

File metadata and controls

294 lines (201 loc) · 7.22 KB

🎉 Selamat Datang Kontributor STADATA Flutter SDK

Terima kasih atas minat Anda untuk berkontribusi pada STADATA Flutter SDK! Panduan ini akan membantu Anda memulai dan membuat kontribusi yang bermakna untuk proyek ini.


🚀 Mulai Cepat

Saya baru di open source

  1. 📖 Baca Kode Etik kami
  2. 🎯 Lihat Issue untuk Pemula
  3. 📋 Ikuti Alur Kontribusi GitHub kami

Saya ingin menambah fitur baru

  1. 🔧 Ikuti Panduan Pengembangan Fitur kami
  2. 🏗️ Pahami Panduan Arsitektur kami
  3. 📝 Cek Status Pengembangan di bawah

Saya menemukan bug

  1. 🐛 Buat Laporan Bug
  2. 🔧 Ikuti Alur GitHub kami untuk memperbaikinya

🛠️ Status Pengembangan

🎯 Prioritas Tinggi (Butuh Bantuan!)

Fitur Status Tingkat Kesulitan Cocok untuk
Dynamic Tables 🔄 Sedang Menengah
Glossary 🔄 Mudah Pemula
Foreign Trade 🔄 Sedang Menengah
SDGs Data 🔄 Sedang Menengah
Model Tests 🔄 Mudah Pemula
Converter Tests 🔄 Mudah Pemula

✅ Selesai (Tersedia untuk Peningkatan)

Fitur Peluang Peningkatan
Census Data Tambah test coverage, tingkatkan dokumentasi
Publications Tambah caching layer, tingkatkan error handling
News Tambah fitur search, tingkatkan performa
Domains Tambah validasi, tingkatkan type safety

🎨 Jenis Kontribusi

🐛 Perbaikan Bug

  • Perbaiki issue yang dilaporkan
  • Tingkatkan error handling
  • Perbaiki edge cases
  • Cocok untuk: Semua level keahlian

✨ Fitur Baru

  • Implementasikan endpoint BPS API yang belum ada
  • Tambah model data baru
  • Tingkatkan fungsi SDK
  • Cocok untuk: Menengah hingga mahir

📚 Dokumentasi

  • Tingkatkan dokumentasi API
  • Tambah contoh kode
  • Terjemahkan ke bahasa Indonesia
  • Buat tutorial
  • Cocok untuk: Semua level keahlian

🧪 Testing

  • Tulis unit test
  • Tambah integration test
  • Tingkatkan test coverage
  • Tambah end-to-end test
  • Cocok untuk: Pemula hingga menengah

🎨 Aplikasi Contoh

  • Tambah screen demo baru
  • Tingkatkan UI/UX
  • Tambah contoh penggunaan
  • Cocok untuk: Penggemar UI/UX

🌍 Lokalisasi

  • Terjemahkan aplikasi contoh
  • Tambah dukungan bahasa baru
  • Tingkatkan terjemahan yang ada
  • Cocok untuk: Penutur asli

🎯 Panduan Kontribusi Berdasarkan Keahlian

👶 Pemula (Baru di Flutter/Dart)

Mulai Di Sini:

  • 📝 Perbaiki typo di dokumentasi
  • 🧪 Tambah test model yang hilang
  • 🌍 Bantu dengan terjemahan
  • 📖 Tingkatkan komentar kode

Jalur Pembelajaran:

  1. Setup development environment
  2. Jalankan aplikasi contoh
  3. Tulis test pertama Anda
  4. Buat perbaikan dokumentasi

🚀 Menengah (Nyaman dengan Flutter)

Pilihan Bagus:

  • 🔧 Implementasikan fitur yang hilang (Glossary, Dynamic Tables)
  • 🏗️ Tambah caching layer
  • 📱 Tingkatkan UI aplikasi contoh
  • 🧪 Tambah integration test

Tantang Diri Anda:

  1. Pilih fitur yang hilang dari tabel status
  2. Ikuti Alur Pengembangan Fitur
  3. Implementasikan dengan testing yang proper
  4. Update dokumentasi

🌟 Mahir (Expert Flutter)

Impact Tinggi:

  • 🏛️ Tingkatkan arsitektur
  • ⚡ Optimasi performa
  • 🔒 Peningkatan keamanan
  • 🛠️ Perbaikan DevOps

Pimpin Jalan:

  1. Review PR yang kompleks
  2. Mentor kontributor lain
  3. Desain pattern arsitektur baru
  4. Optimalkan CI/CD pipeline

🏗️ Persyaratan Teknis

Development Environment

# Flutter SDK
flutter --version  # >=3.7.0 <4.0.0

# Tools
melos --version     # Untuk manajemen monorepo
get --version       # Untuk generasi lokalisasi

Standar Kode

  • ✅ Ikuti aturan Very Good Analysis
  • ✅ Tulis test yang komprehensif (target: 80%+ coverage)
  • ✅ Gunakan pattern Clean Architecture
  • ✅ Dokumentasikan public API
  • ✅ Sertakan contoh penggunaan

Persyaratan Testing

# Jalankan semua test
melos test

# Cek coverage
melos test --coverage

# Lint kode
melos analyze

# Format kode
melos format

🎖️ Pengakuan

🌟 Hall of Fame

Kontributor yang membuat dampak signifikan mendapat pengakuan khusus:

  • 🏆 Top Contributor: Commit/PR terbanyak
  • 🐛 Bug Hunter: Bug fix terbanyak
  • 📚 Documentation Hero: Perbaikan dokumentasi terbaik
  • 🎨 UI/UX Champion: Perbaikan aplikasi contoh terbaik
  • 🧪 Test Master: Kontribusi testing terbaik

📈 Pelacakan Kontribusi

Kami melacak dan merayakan kontribusi melalui:


🤝 Komunitas

💬 Saluran Komunikasi

  • GitHub Issues: Laporan bug, permintaan fitur
  • GitHub Discussions: Pertanyaan umum, ide
  • Pull Request Reviews: Feedback kode
  • Email: Kontak langsung via issues

🎯 Panduan Komunitas

  • Bersikap hormat dan inklusif
  • Bantu orang lain belajar dan berkembang
  • Bagikan pengetahuan dan pengalaman
  • Rayakan kontribusi satu sama lain
  • Ikuti Kode Etik kami

📚 Sumber Pembelajaran

📖 Khusus Proyek

🎓 Sumber Umum


🚀 Checklist Memulai

Setup Pertama Kali

  • Fork repository
  • Clone fork Anda secara lokal
  • Setup development environment
  • Jalankan melos bootstrap
  • Jalankan aplikasi contoh
  • Jalankan test untuk memastikan semuanya berfungsi

Sebelum Kontribusi Pertama

  • Baca Panduan Kontribusi
  • Pilih issue pertama Anda
  • Komentar di issue untuk mengklaimnya
  • Buat feature branch
  • Buat perubahan Anda
  • Tulis test
  • Submit pull request

Kontribusi Berkelanjutan

  • Jaga fork Anda tetap update
  • Berinteraksi dengan komunitas
  • Bantu review PR orang lain
  • Bagikan pengalaman Anda
  • Sarankan perbaikan

💝 Terima Kasih

Setiap kontribusi, sekecil apapun, membuat perbedaan. Anda membantu untuk:

  • 🌍 Meningkatkan akses ke data statistik Indonesia
  • 📊 Memungkinkan aplikasi Flutter yang data-driven
  • 🤝 Membangun komunitas open source yang kuat
  • 📈 Memajukan ekosistem Flutter

Upaya Anda sangat dihargai! 🙏


Siap berkontribusi? Pilih issue dan mari bangun sesuatu yang luar biasa bersama! 🚀