4.8 KiB
RayLab Core Phase 8 --- Development Workflow
Tujuan
Fase 8 mendefinisikan alur kerja pengembangan (Development Workflow) RayLab Core agar proses implementasi, pengujian, review, dan rilis dilakukan secara konsisten.
Dokumen ini menjadi standar kerja untuk seluruh pengembangan RayLab Core.
Prinsip
- Seluruh perubahan dapat dilacak.
- Setiap fitur dikembangkan secara terpisah.
- Kualitas kode lebih penting daripada kecepatan.
- Otomatisasi digunakan sebanyak mungkin.
- Dokumentasi diperbarui bersamaan dengan perubahan kode.
Development Lifecycle
Requirement
│
▼
Architecture
│
▼
Issue / Task
│
▼
Implementation
│
▼
Unit Test
│
▼
Integration Test
│
▼
End-to-End Test
│
▼
Code Review
│
▼
Merge
│
▼
Release
Git Workflow
Branch Utama
main
Selalu berisi kode yang stabil.
Branch Pengembangan
Gunakan branch terpisah untuk setiap pekerjaan.
Contoh:
feature/identity
feature/media-manager
feature/api-users
fix/login-session
fix/storage-permission
refactor/authorization
docs/api-architecture
Satu branch hanya menangani satu tujuan.
Commit Convention
Format commit:
type(scope): description
Contoh:
feat(identity): add user service
fix(media): resolve folder permission bug
docs(api): update endpoint documentation
refactor(registry): simplify adapter registration
test(users): add integration test
Jenis commit:
- feat
- fix
- docs
- refactor
- test
- chore
- ci
Pull Request Checklist
Sebelum merge:
- Kode berhasil dikompilasi.
- Unit test lulus.
- Integration test lulus.
- E2E test lulus (jika relevan).
- Dokumentasi diperbarui.
- Migration ditinjau.
- Tidak ada perubahan yang tidak terkait.
Testing Strategy
Unit Test
Menguji business logic secara terisolasi.
Tool:
- Jest
Integration Test
Menguji interaksi antar modul.
Tool:
- Jest
End-to-End Test
Menguji perilaku sistem dari sudut pandang pengguna.
Tool:
- Playwright
Standar ini mengikuti proses pengujian RayLab yang telah ditetapkan.
Code Review
Fokus review:
- Kesesuaian dengan arsitektur.
- Kualitas business logic.
- Keamanan.
- Konsistensi penamaan.
- Keterbacaan kode.
- Dampak terhadap modul lain.
Review tidak hanya memeriksa apakah kode berjalan, tetapi juga apakah kode sesuai dengan standar RayLab Core.
Database Workflow
Perubahan database:
- Ubah
schema.prisma. - Buat migration.
- Jalankan migration pada lingkungan pengembangan.
- Perbarui dokumentasi jika diperlukan.
Perubahan langsung pada database produksi tidak diperbolehkan.
Documentation Workflow
Setiap perubahan yang memengaruhi arsitektur, API, atau modul harus diikuti dengan pembaruan dokumentasi.
Area dokumentasi:
- Architecture
- API
- Module
- ADR
- Guide
Dokumentasi menjadi bagian dari proses pengembangan.
Release Workflow
Development
│
▼
Testing
│
▼
Review
│
▼
Tag Release
│
▼
Docker Build
│
▼
Deployment
Setiap rilis menggunakan tag versi yang jelas.
Contoh:
v1.0.0
v1.1.0
v2.0.0
Definition of Done
Sebuah pekerjaan dianggap selesai apabila:
- Implementasi selesai.
- Seluruh test lulus.
- Tidak ada error linting.
- Dokumentasi diperbarui.
- Migration tersedia (jika diperlukan).
- Telah melalui code review.
Hasil Akhir Fase 8
Pada akhir fase ini RayLab Core memiliki standar workflow pengembangan yang mencakup implementasi, pengujian, review, dokumentasi, dan proses rilis. Workflow ini menjadi pedoman agar seluruh pengembangan tetap konsisten, berkualitas, dan mudah dipelihara dalam jangka panjang.