Lewati ke konten utama
AI BlueprintAI Blueprint
Cara KerjaHasil Blueprint
Learn
Learning CenterSemua panduan publicMulai AI CodingFondasi untuk pemulaPelatihan Pemula8 modul dan 10 latihan publicModels & LimitsToken, context, dan quotaBlueprint to CodeDari Project ZIP ke implementasi
Untuk SiapaHargaFAQ
MasukMulai dari Ide
LearnMulai dari Ide
AI BlueprintAI Blueprint

Platform berbasis AI yang membantu Anda mengubah ide aplikasi mentah menjadi blueprint terstruktur.

Produk

Cara KerjaHasil BlueprintHargaFAQ

Learning

Learning CenterMulai AI CodingPelatihan PemulaModels & LimitsBlueprint to Code

Perusahaan

KontakKeamananDokumentasi

Legal

Syarat & KetentuanKebijakan RefundKebijakan PrivasiKebijakan CookieKebijakan RetensiSubprosesor
© 2026 CV DNA Konsultan · AI Blueprint
hello@aiblueprint.web.id
Jl. Arabika 8 Blok AA 1 No. 9, RT.001/RW.005, Pondok Kopi, Duren Sawit, Jakarta Timur, DKI Jakarta 13460, Indonesia
Learning/AI Coding
DataPemula

Database, Authentication, Authorization, dan API

Jalankan PostgreSQL lokal, lindungi environment variable, dan pahami batas antara schema, migration, auth, permission, serta API.

4 menit bacaDiperiksa 5 Sep 2026Akses public
Di halaman ini
1. Database, Schema, ORM, dan Migration2. Jalankan PostgreSQL Lokal dengan Docker3. Kelola Environment Variable dan Secret4. Bedakan Authentication dan Authorization5. Pahami API Boundary6. Ubah Blueprint Schema Menjadi Migration7. Test Data dan Permission8. Stop, Start, dan Reset Lokal9. Quality Gate Data dan API
Daftar isi
1. Database, Schema, ORM, dan Migration2. Jalankan PostgreSQL Lokal dengan Docker3. Kelola Environment Variable dan Secret4. Bedakan Authentication dan Authorization5. Pahami API Boundary6. Ubah Blueprint Schema Menjadi Migration7. Test Data dan Permission8. Stop, Start, dan Reset Lokal9. Quality Gate Data dan API

Database menyimpan state aplikasi. Authentication membuktikan siapa user. Authorization menentukan apa yang boleh dilakukan user tersebut. API menjadi batas komunikasi antara client, server, dan service lain. Keempatnya perlu dirancang bersama ketika aplikasi memproses data user.

1. Database, Schema, ORM, dan Migration

Schema mendefinisikan table, column, type, constraint, index, dan relationship. ORM membantu code membaca dan menulis database melalui model atau query API. Migration adalah perubahan schema yang berurutan dan dapat direview. Seed memasukkan data awal atau data latihan.

Jangan mengubah database production langsung dari UI database tanpa migration dan backup plan. File schema di code belum berarti database sudah berubah. Migration harus dibuat, ditinjau, dijalankan pada environment yang tepat, dan diverifikasi.

2. Jalankan PostgreSQL Lokal dengan Docker

Contoh Compose untuk latihan lokal:

yaml
services:
  db:
    image: postgres:17
    restart: unless-stopped
    environment:
      POSTGRES_USER: app
      POSTGRES_PASSWORD: local-development-only
      POSTGRES_DB: app_local
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

Jalankan dan periksa service:

bash
docker compose up -d
docker compose ps
docker compose logs db

Credential contoh hanya untuk komputer lokal. Jangan menggunakannya pada production. Gunakan versi image dan konfigurasi yang ditetapkan repository bila sudah tersedia.

3. Kelola Environment Variable dan Secret

Gunakan .env.local untuk nilai lokal dan .env.example untuk daftar nama variable tanpa secret. Tambahkan file secret ke .gitignore sebelum commit pertama.

dotenv
DATABASE_URL=postgresql://app:local-development-only@localhost:5432/app_local

Jangan menaruh database URL production, token, private key, atau password dalam prompt, screenshot, log, issue, atau client-side bundle. Variable yang dapat dibaca browser harus dianggap public.

4. Bedakan Authentication dan Authorization

Authentication menjawab "siapa Anda?" melalui password, OAuth, passkey, atau mekanisme lain. Authorization menjawab "apa yang boleh Anda lakukan?" berdasarkan role, ownership, permission, tenant, dan resource.

Contoh: user yang sudah login belum tentu boleh membaca invoice user lain. Setiap operasi server harus memeriksa session dan scope data. Menyembunyikan tombol di frontend hanya memperbaiki UX, bukan security boundary.

5. Pahami API Boundary

API menerima request, memvalidasi input, memeriksa authorization, menjalankan business rule, berinteraksi dengan database, lalu menghasilkan response. Client tidak boleh menentukan sendiri harga final, role, tenant ID, atau status approval yang seharusnya ditetapkan server.

Untuk setiap endpoint, dokumentasikan method, path, input, output, authentication, permission, error, side effect, dan idempotency. Hindari mengembalikan stack trace, query mentah, credential, atau detail internal pada response public.

6. Ubah Blueprint Schema Menjadi Migration

Database Schema dari AI Blueprint adalah requirement dan design artifact, bukan bukti bahwa database runtime sudah siap. Bandingkan schema tersebut dengan ORM dan migration repository. Tentukan naming, type mapping, constraint, index, foreign key, cascade behavior, audit field, dan tenant isolation.

Untuk perubahan berisiko, gunakan alur expand, migrate data, switch code, lalu contract. Backup dan restore rehearsal diperlukan untuk data penting. Jangan menghapus column hanya karena tidak dipakai pada UI terbaru.

7. Test Data dan Permission

Minimum test harus mencakup:

  • input valid dan invalid;
  • user belum login;
  • user login dengan permission benar;
  • user login tanpa permission;
  • akses lintas user atau tenant ditolak;
  • resource tidak ditemukan;
  • operasi berulang aman bila harus idempotent;
  • transaction rollback ketika satu tahap gagal.

Gunakan data synthetic. Jangan menyalin record customer production ke repository atau environment latihan.

8. Stop, Start, dan Reset Lokal

Hentikan container tanpa menghapus data:

bash
docker compose stop
docker compose start

docker compose down menghapus container dan network, tetapi volume bernama biasanya tetap ada. Opsi -v menghapus volume dan data. Jangan menjalankannya jika Anda belum memastikan data boleh hilang.

9. Quality Gate Data dan API

  • Schema dan migration konsisten.
  • Migration diuji pada database kosong dan upgrade path yang relevan.
  • Secret tidak ada di Git atau client bundle.
  • Semua write memvalidasi input pada server.
  • Authorization diterapkan pada query atau service boundary.
  • Tenant dan ownership diuji dengan kasus negatif.
  • Error public aman dan tetap dapat didiagnosis melalui log internal.
  • Backup, rollback, atau recovery plan sesuai risiko data.

Sumber resmi dan referensi

Gunakan sumber berikut untuk memeriksa command, fitur, pricing, atau limit terbaru.

  • postgresql.org
  • docs.docker.com
  • cheatsheetseries.owasp.org
  • cheatsheetseries.owasp.org
  • developer.mozilla.org
Terkait dengan Blueprint

Database Schema

Lihat contoh tabel, relasi, audit, dan konvensi data yang harus dipatuhi implementasi.

Buka referensi
SebelumnyaFrontend DesignBerikutnyaBlueprint to Code

Apakah panduan ini membantu?

Beritahu kami bila langkahnya berhasil atau ada informasi yang perlu diperbarui.

Perlu update