Skeleton project yang powerful dan scalable untuk membangun REST API dengan Go. Dilengkapi dengan best practices, clean architecture, dan tools modern untuk development yang cepat.
package main
import (
"github.com/labstack/echo/v4"
"skeleton/internal/api"
)
func main() {
e := echo.New()
// Setup routes & middleware
api.SetupRouter(e)
// Start server
e.Logger.Fatal(e.Start(":8080"))
}
Semua yang Anda butuhkan untuk membangun REST API yang powerful
Struktur project yang terorganisir dengan separation of concerns yang jelas. Handler, Service, dan Repository layer yang terpisah untuk maintainability maksimal.
Menggunakan Echo, framework Go yang high-performance dan minimalist. Dilengkapi dengan middleware untuk CORS, logging, dan recovery.
Support untuk PostgreSQL dan MySQL dengan sqlx. Konfigurasi database yang mudah dan connection pooling yang optimal.
Konfigurasi aplikasi menggunakan Viper dengan format YAML. Mudah dikelola dan mendukung multiple environments.
Feature-based folder structure yang memudahkan scaling. Setiap feature memiliki entity, handler, service, dan repository sendiri.
Pre-configured middleware untuk CORS, logging, dan panic recovery. Siap untuk ditambahkan authentication dan authorization.
Clean Architecture dengan separation of concerns yang jelas
Menangani HTTP request/response
Business logic dan validasi
Database operations
Data models dan structures
skeleton/
├── cmd/api/ # Entry point aplikasi
│ └── main.go # Main application
├── internal/ # Private application code
│ ├── api/ # Router & middleware
│ │ ├── router.go
│ │ └── middleware.go
│ ├── features/ # Feature modules
│ │ └── auth/ # Contoh: Auth feature
│ │ ├── entity.go
│ │ ├── handler.go
│ │ ├── service.go
│ │ └── repository.go
│ └── shared/ # Shared utilities
│ ├── request.go
│ └── response.go
├── pkg/ # Public reusable packages
│ ├── config/ # Configuration management
│ ├── logger/ # Logging utilities
│ ├── migration/ # Database migrations
│ └── utils/ # Helper functions
├── app/ # Static files & frontend
├── docs/ # Documentation
├── test/ # Test files
├── go.mod
└── go.sum
Teknologi modern dan terpercaya untuk aplikasi production-ready
Modern Go version
High performance web framework
Database toolkit
Primary database (optional)
Alternative database (optional)
Configuration management
Langkah mudah untuk memulai project Anda
git clone https://github.com/Ikuradachi/skeleton_go.git
go mod download
cp config.example.yaml config.yaml
go run cmd/api/main.go