Files
RayLab-Core/Docs/Phase-08-Development-Workflow.md
T
2026-07-30 09:41:42 +07:00

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:

  1. Ubah schema.prisma.
  2. Buat migration.
  3. Jalankan migration pada lingkungan pengembangan.
  4. 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.