โœจ Eksa Framework

Ruby Version Rack Version License Framework Role

Eksa Framework adalah micro-framework MVC (Model-View-Controller) modern yang dibangun di atas Ruby dan Rack. Didesain untuk pengembang yang menginginkan kecepatan, kode yang bersih, dan tampilan antarmuka Glassmorphism yang elegan secara out-of-the-box.


๐Ÿš€ Fitur Unggulan

  • ๐Ÿ’Ž Modern Glassmorphism UI: Tampilan transparan yang indah dengan Tailwind CSS & Lucide Icons.
  • โšก Rack 3 & Middleware Support: Mendukung standar terbaru dan pembuatan pipeline middleware kustom.
  • ๐Ÿ› ๏ธ Powerful CLI: Inisialisasi project (eksa init), jalankan server (eksa run), dan generate komponen secara instan.
  • ๐Ÿ’พ Dynamic Database Engine: Database SQLite otomatis dengan schema yang ditentukan oleh model Anda sendiri.
  • ๐Ÿงช Built-in Testing: Lingkungan pengujian otomatis siap pakai menggunakan RSpec dan rack-test.
  • ๐ŸŽจ Asset Helpers: Library bawaan untuk pengelolaan CSS dan JS yang lebih rapi.
  • ๐Ÿ” Dynamic SEO Engine: Penanganan otomatis file robots.txt dan sitemap.xml.

๐Ÿ› ๏ธ Instalasi Cepat

1. Install via Gem

gem install eksa-framework

2. Inisialisasi Project Baru

mkdir my-app && cd my-app
eksa init

3. Jalankan Server

bundle install
eksa run

๐Ÿ’ป Panduan Pengembangan

1. Konfigurasi Aplikasi (config.ru)

Eksa kini menggunakan blok inisialisasi untuk konfigurasi yang lebih fleksibel:

app = Eksa::Application.new do |config|
  config.config[:db_path] = "./db/production.db"

  config.use Rack::Static, urls: ["/css", "/img"], root: "public"
  config.use Rack::ShowExceptions
end

2. CLI Generator

Hemat waktu dengan menggunakan generator bawaan:

# Membuat controller dan view template
eksa g controller Blog

# Membuat model dan schema database
eksa g model Post

3. Database & Model

Definisikan schema tabel Anda langsung di dalam model:

class Post < Eksa::Model
  def self.setup_schema
    db.execute <<~SQL
      CREATE TABLE IF NOT EXISTS posts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        title TEXT,
        content TEXT
      )
    SQL
  end
end

4. Asset Helpers

Gunakan helper di dalam view untuk menyisipkan asset:

<%= stylesheet_tag "style" %>
<%= javascript_tag "app" %>

5. Menjalankan Test

Pastikan aplikasi Anda berjalan dengan benar menggunakan RSpec:

bundle exec rspec

๐Ÿ“œ Lisensi

Proyek ini dilisensikan di bawah MIT License. Lihat file LICENSE untuk detail lebih lanjut.