🏗️ NusaFramework

Framework web Laravel-style untuk NusaScript — organized, scalable, production-ready.

🧱 Struktur MVC 🔒 Auth JWT Bawaan 🗄️ ORM Sederhana ⚡ Migrasi Database 🛡️ Middleware

Apa itu NusaFramework?

NusaFramework adalah cara terstruktur membangun REST API menggunakan NusaScript. Terinspirasi dari Laravel, NusaFramework memberikan konvensi yang jelas: di mana meletakkan routing, kontroler, model, dan middleware.

⚡ Tanpa Framework (cara lama)

// Semua dalam satu file panjang
buat app = server_baru(8080)
buat db  = db_buka("sqlite", "app.db")

tambah_rute(app, "GET", "/api/pengguna", fungsi(req) {
    // Logic langsung di sini... 200 baris lagi
})

🏗️ Dengan NusaFramework

// server.ns — bersih dan terstruktur
muat_file("config/app.ns")
muat_file("app/model/Pengguna.ns")
muat_file("app/kontroler/PenggunaKontroler.ns")
buat app = server_baru(PORT)
muat_file("rute/api.ns")
jalankan_server(app)

Memulai dalam 3 Langkah

Terminal
// Langkah 1: Buat proyek baru (seperti 'laravel new')
nusa buat:proyek toko-api
cd toko-api

// Langkah 2: Buat tabel database
nusa migrasi

// Langkah 3: Jalankan server
nusa jalankan server.ns
// Output: 🚀 toko-api berjalan di http://localhost:8080
Output
✨ NusaFramework — Membuat Proyek Baru
   Proyek: toko-api

  📁 toko-api
  📁 toko-api/app/kontroler
  📁 toko-api/app/model
  ...
  📄 toko-api/server.ns

✅ Proyek 'toko-api' berhasil dibuat!

Struktur Direktori yang Dihasilkan

Struktur Proyek
toko-api/
├── server.ns              ← Entry point (jalankan ini)
├── .env                   ← Konfigurasi environment
├── rute/
│   └── api.ns             ← Definisi semua rute API
├── app/
│   ├── kontroler/         ← Handler request HTTP
│   │   ├── AuthKontroler.ns
│   │   ├── PenggunaKontroler.ns
│   │   └── ProdukKontroler.ns
│   ├── model/             ← Model ORM database
│   │   ├── Pengguna.ns
│   │   └── Produk.ns
│   └── middleware/        ← Auth, logging, dll
│       └── auth.ns
├── database/
│   ├── migrasi.ns         ← Skema database
│   └── seeder.ns          ← Data awal
└── config/
    └── app.ns             ← Konfigurasi aplikasi

Alur Request

Bagaimana sebuah request ditangani:
1
Request Masuk
2
Router (rute/api.ns)
3
Middleware (auth.ns)
4
Kontroler (handler)
5
Model (ORM)
6
Response JSON

Fitur Framework

Perintah CLI Framework

PerintahDeskripsiAlias
nusa buat:proyek <nama>Buat proyek NusaFramework barunew, create
nusa migrasi [dir]Jalankan file migrasi databasemigrate
nusa kelola:rute [dir]Tampilkan daftar semua ruteroute:list
nusa jalankan server.nsJalankan server dalam mode interpreterrun
nusa kompilasi server.nsKompilasi ke native binarybuild

Perbandingan dengan Laravel

KonsepLaravel (PHP)NusaFramework (NusaScript)
Buat proyeklaravel new myappnusa buat:proyek myapp
Migrasiphp artisan migratenusa migrasi
Jalankan serverphp artisan servenusa jalankan server.ns
Daftar rutephp artisan route:listnusa kelola:rute
Definisi ruteRoute::get('/path', [Ctrl::class, 'method'])tambah_rute(app, "GET", "/path", aksi)
Model queryUser::all()Model_semua("Pengguna")
Auth middleware->middleware('auth')Panggil wajib_login(req) di handler
Validasi$request->validate([...])validasi(body, aturan)
Responseresponse()->json([...])resp_ok(data, pesan)
📌 Tip: NusaFramework dirancang untuk developer Indonesia. Semua perintah, fungsi, dan dokumentasi menggunakan Bahasa Indonesia agar lebih mudah dipelajari dan dipahami.