✨ Eksa Framework v3.5.1
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 v3.5.1
- 💎 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), generate komponen, ganti database, dan migrasi data otomatis. - 💾 Agnostic Database Engine: Dukungan multi-database (SQLite & MongoDB Atlas) dengan sistem adapter yang otomatis dan transparan.
- 🛡️ Secure Environment Variables: Dukungan file
.envuntuk menyimpan kredensial database (MongoDB URI) secara aman. - ⚙️ JIT Schema Initialization: Inisialisasi tabel/koleksi secara otomatis tepat saat model pertama kali diakses.
- 🧪 Built-in Testing: Lingkungan pengujian otomatis siap pakai menggunakan RSpec dan
rack-test. - 🛡️ Built-in Authentication: Sistem keamanan BCrypt dengan proteksi sesi Rack untuk registrasi log-in area Admin.
- 📝 Interactive CMS Dashboard: Panel admin integratif untuk mengedit isi blog Markdown & transisi visibilitas via UI.
- 🔍 Dynamic SEO Engine: Penanganan otomatis file
robots.txt,sitemap.xml, dan dukungan JSON-LD (Structured Data). - 🎨 Asset Helpers: Library bawaan untuk pengelolaan CSS dan JS yang lebih rapi.
- 👻 Aesthetic Error Pages: Halaman 404 dengan desain Glassmorphism yang elegan secara native.
🛠️ Instalasi Cepat
1. Install via Gem
gem install eksa-framework
2. Inisialisasi Project Baru
mkdir my-app && cd my-app
eksa init
3. Konfigurasi Keamanan (Opsi MongoDB)
Salin .env.example menjadi .env dan isi kredensial Anda:
cp .env.example .env
4. Jalankan Server
bundle install
eksa run
💻 Panduan Pengembangan
1. CLI Generator & Utility
Hemat waktu dengan menggunakan generator bawaan:
# Membuat controller dan view template
eksa g controller Berita
# Membuat model (Schema akan dibuat otomatis saat diakses)
eksa g model Artikel
# Membuat postingan blog baru dengan meta tambahan
eksa g post "Panduan Eksa" --category "Tutorial" --author "Eksa Team" --image "url-gambar.jpg"
# Mengaktifkan/menonaktifkan fitur (auth / cms)
eksa feature enable auth
eksa feature enable cms
# Manajemen Database (Switch & Migrate)
eksa db switch mongo # Pindah ke MongoDB
eksa db migrate --from sqlite --to mongo # Pindah data ke Cloud
# Reset Password Admin
eksa reset-password admin PasswordRahasia123
2. Database & Model (Agnostic)
Definisikan schema tabel Anda di dalam model. Eksa akan menanganinya secara cerdas baik di SQLite maupun MongoDB:
class Artikel < Eksa::Model
def self.setup_schema
db.execute " CREATE TABLE IF NOT EXISTS artikels (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n judul TEXT,\n konten TEXT,\n penulis TEXT\n )\n SQL\n end\n\n def self.semua\n db.execute(\"SELECT * FROM artikels ORDER BY id DESC\")\n end\nend\n"
3. CMS Dashboard & Blog Engine
Eksa memiliki sistem blog bawaan yang cara kerjaja mirip Jekyll namun dengan kemudahan CMS.
- Blog Markdown: Simpan file
.mddi_posts/dengan Front Matter YAML. - Dynamic Routing: Otomatis mengenali rute
/posts/:slug. - Admin Panel: Akses
/cmsuntuk mengedit konten menggunakan editor terintegrasi, ganti status (Draft/Published), atau hapus postingan.
4. SEO & Metadata
Eksa secara otomatis menghasilkan:
http://localhost:9292/sitemap.xmlhttp://localhost:9292/robots.txt- JSON-LD: Skema
BlogPostingdanWebSitedisematkan otomatis pada layout untuk peringkat SEO yang lebih baik.
5. Menjalankan Test
Gunakan RSpec yang sudah terkonfigurasi untuk memastikan aplikasi stabil:
bundle exec rspec
📜 Lisensi
Proyek ini dilisensikan di bawah MIT License. Lihat file LICENSE untuk detail lebih lanjut.