Ddonisgo
Framework

Overview

Apa itu donisgo, apa yang disertakan, dan apa yang sengaja tidak disertakan.

Ringkasan

donisgo (sebelumnya go_framework) adalah framework web Go minimalist & plugin-based untuk backend services. Inti framework hanya menyediakan infrastruktur penting (DB, routing, plugin system); fitur diimplementasikan lewat plugin atau kode custom.

Dua binary utama:

  • cmd/server/main.go — HTTP server
  • cmd/console/main.go — CLI (migrasi, generator plugin, seed)

Filosofi inti

  • Berikan infrastruktur esensial, biarkan fitur jadi plugin.
  • Tidak ada auth / user management bawaan — implementasikan lewat plugin (disarankan) atau middleware custom.
  • Bootstrap & wiring dependency ada di internal/app/bootstrap.go.
  • Extensible lewat plugin system (middleware, routes, services, migrations, console commands).

What’s included

  • Database connectivity (GORM — PostgreSQL, MySQL, MariaDB)
  • Sistem migrasi (up/down, core + plugin)
  • Plugin architecture
  • Plugin generator CLI (plugin new)
  • JWT utilities
  • CORS configuration
  • Console commands (migrations, plugin generator, user management stub)
  • KeyDB/Redis client (untuk flash messages)
  • Mailer utilities
  • Transaction helpers
  • Swagger documentation support

What’s NOT included (implement via plugin)

  • Authentication service & middleware
  • User/Admin models
  • Authorization/permission system
  • Built-in CRUD endpoints
  • Session management
  • Password hashing/verification utilities

Disarankan: buat plugin auth pakai generator untuk implementasi fitur autentikasi.

Main components

Komponen Path
Bootstrap & wiring internal/app/bootstrap.go
Business services internal/admin/services
Database (GORM) internal/db/gorm.go
Auth utilities (JWT) internal/auth
Plugin system internal/pluginloader, internal/plugins
CLI / migrations internal/console
Mailer internal/mail
KeyDB/Redis internal/keydb
Storage internal/storage
Events internal/events
UUID v7 internal/uuid