Semua Open Source
Go Open Source

GoIgniter

Lightweight Go web framework terinspirasi CodeIgniter, dibangun di atas net/http stdlib tanpa dependency eksternal.

GoIgniter adalah web framework Go yang ringan, terinspirasi dari CodeIgniter, dan dibangun langsung di atas net/http stdlib — tanpa dependency HTTP eksternal sama sekali.

⚠️ Sedang dalam pengembangan. API dapat berubah tanpa pemberitahuan. Belum direkomendasikan untuk production.

Fitur

  • Zero external HTTP dependency — murni net/http stdlib
  • Routing & controller ala CodeIgniter
  • Middleware bawaan — logger, recovery, CORS, rate limit, auth
  • Template engine dengan hot reload
  • Manajemen session (berbasis cookie)
  • Auto-routing support
  • Setup wizard — buat project baru hanya dengan satu perintah

Quick Start

Cara tercepat membuat project GoIgniter baru menggunakan setup script:

# Mode interaktif - akan menanyakan detail project
curl -sSL https://raw.githubusercontent.com/semutdev/goigniter/main/setup/setup.sh | bash
# Mode non-interaktif - buat project langsung
curl -sSL https://raw.githubusercontent.com/semutdev/goigniter/main/setup/setup.sh | bash -s -- --name=myapp --db=sqlite

Project Hasil Setup Termasuk

  • Login System — autentikasi berbasis session
  • Admin Dashboard — statistik, manajemen user (CRUD), pengaturan
  • HTMX + CSS Minimal — UI modern tanpa reload halaman
  • SQLite/MySQL — pilih database

Contoh Manual

package main

import (
    "goigniter/system/core"
    "goigniter/system/middleware"
)

func main() {
    app := core.New()

    app.Use(middleware.Logger())
    app.Use(middleware.Recovery())

    app.GET("/", func(c *core.Context) error {
        return c.JSON(200, core.Map{"message": "Hello GoIgniter!"})
    })

    app.Run(":8080")
}

Struktur Project

goigniter/
├── system/
│   ├── core/           # Core framework (router, context, controller)
│   ├── middleware/     # Built-in middleware
│   ├── libraries/      # Session, database query builder
│   └── helpers/        # URL helpers, template funcs
├── examples/           # Usage examples
├── starter/            # Quick start template
└── setup/              # Project setup wizard

Lisensi

MIT

Lihat GoIgniter di GitHub untuk dokumentasi lengkap & contoh.