Yomu
Development

Panduan Pengembangan

Menyiapkan pengembangan lokal, Docker, testing, dan workflow umum

Gambaran Umum

Panduan ini mencakup cara menyiapkan environment pengembangan lokal untuk Yomu. Platform terdiri dari tiga service:

ServicePortDeskripsi
Frontend3000Next.js 16
Java Backend8080Spring Boot 4
Rust Backend8081Axum 0.8

Struktur Sub-Proyek

yomu-backend-java

Java 21 dengan Spring Boot 4.0.2, Gradle Kotlin DSL.

cd yomu-backend-java
./gradlew bootRun

yomu-backend-rust

Rust 1.85+ (Edition 2024), Axum 0.8.8, SQLx.

cd yomu-backend-rust
cargo run
# atau dengan hot reload:
docker compose -f docker-compose.dev.yml up

yomu-frontend

Next.js 16.1.6, React 19.2.3, Tailwind CSS v4, shadcn/ui.

cd yomu-frontend
bun run dev

Prasyarat

ToolVersiCatatan
Java21java -version harus menampilkan 21
Rust1.85+rustc --version
Node.js22+node -v
DockerTerbaruDesktop atau Engine
bunTerbarubun -v

Mulai Cepat

Langkah 1: Mulai Infrastructure

Semua proyek menyertakan Docker Compose untuk PostgreSQL dan Redis.

# Mulai kedua services (PostgreSQL 16/17, Redis 8)
cd yomu-backend-rust && docker compose -f docker-compose.dev.yml build && docker compose -f docker-compose.dev.yml up -d

Verifikasi:

docker compose -f yomu-backend-rust/docker-compose.dev.yml ps

Langkah 2: Jalankan Migrations

# Java: auto-migrate saat startup
# Rust: migration manual
cd yomu-backend-rust
cargo sqlx migrate run

Langkah 3: Mulai Java Backend

cd yomu-backend-java
./gradlew bootRun

Verifikasi: curl http://localhost:8080/health

Langkah 4: Mulai Rust Backend

cd yomu-backend-rust
cargo run

Verifikasi: curl http://localhost:8081/health

Langkah 5: Mulai Frontend

cd yomu-frontend
bun run dev

Verifikasi: buka http://localhost:3000


Tugas Umum

TugasCommand
Jalankan Java testscd yomu-backend-java && ./gradlew test
Jalankan Rust testscd yomu-backend-rust && cargo test
Build frontendcd yomu-frontend && bun run build
Format Rust codecd yomu-backend-rust && cargo fmt
Lint Rust codecd yomu-backend-rust && cargo clippy

Sub-Halaman

  • Panduan Setup — Setup detail dengan environment variables, Docker Compose, dan troubleshooting

On this page