---
title: "Kontribusi kode"
description: "Menjalankan majalengka.tech di komputermu dan mengirim perbaikan lewat GitHub."
canonical_url: "https://majalengka.tech/docs/kontribusi"
---

> Index of every page on this site: [llms.txt](https://majalengka.tech/llms.txt)

Kode situs ini terbuka dengan lisensi MIT di [github.com/majalengkatech/majalengka.tech](https://github.com/majalengkatech/majalengka.tech). Kirim laporan bug, usulan, atau pull request lewat repositori itu.

## Teknologi yang dipakai

<table>
<thead>
  <tr>
    <th>
      Bagian
    </th>
    
    <th>
      Teknologi
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Framework
    </td>
    
    <td>
      Nuxt 4
    </td>
  </tr>
  
  <tr>
    <td>
      Komponen UI
    </td>
    
    <td>
      Nuxt UI 4 dengan Tailwind CSS 4
    </td>
  </tr>
  
  <tr>
    <td>
      Konten (panduan, changelog)
    </td>
    
    <td>
      Nuxt Content 3
    </td>
  </tr>
  
  <tr>
    <td>
      Database
    </td>
    
    <td>
      NuxtHub dengan SQLite, lewat Drizzle ORM
    </td>
  </tr>
  
  <tr>
    <td>
      Penyimpanan gambar
    </td>
    
    <td>
      Cloudinary
    </td>
  </tr>
  
  <tr>
    <td>
      Login
    </td>
    
    <td>
      Better Auth (email dan kata sandi, GitHub, Google)
    </td>
  </tr>
  
  <tr>
    <td>
      Package manager
    </td>
    
    <td>
      Bun
    </td>
  </tr>
</tbody>
</table>

## Menjalankan di komputermu

1. Clone repositori, lalu pasang dependensi:
```bash [Terminal]
bun install
```
2. Salin `.env.example` menjadi `.env`, lalu isi `NUXT_BETTER_AUTH_SECRET` dengan teks acak minimal 32 karakter. Kolom OAuth GitHub dan Google boleh kosong kalau kamu cukup masuk dengan email.
3. Jalankan server pengembangan:
```bash [Terminal]
bun run dev
```


Server pengembangan membuat database SQLite di `.data/` dan menjalankan migrasinya sendiri.

<note>

Unggah gambar bisa dicoba di komputer lokal. Kalau kolom Cloudinary di `.env` kosong, gambar tersimpan di folder `.data/blob`.

</note>

## Sebelum mengirim pull request

```bash [Terminal]
bun run lint
bun run typecheck
```

Kalau perubahanmu besar, coba juga build produksi. Build membutuhkan memori lebih besar dari bawaan Node:

```bash [Terminal]
NODE_OPTIONS=--max-old-space-size=8192 bun run build
```

## Mengubah struktur database

Ubah `server/db/schema.ts`, lalu buat file migrasi dengan:

```bash [Terminal]
bunx nuxt-db generate
```

Jangan menulis atau mengubah tabel lewat skrip manual. Setelah pull request digabungkan, pengelola situs menjalankan migrasinya di server produksi.

## Sitemap

See the full [sitemap](https://majalengka.tech/sitemap.md) for all pages.
