Production Ready

Template Modern untuk
REST API dengan Golang

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.

Go Version Echo License
main.go
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"))
}

✨ Fitur Unggulan

Semua yang Anda butuhkan untuk membangun REST API yang powerful

🏗️

Clean Architecture

Struktur project yang terorganisir dengan separation of concerns yang jelas. Handler, Service, dan Repository layer yang terpisah untuk maintainability maksimal.

Echo Framework

Menggunakan Echo, framework Go yang high-performance dan minimalist. Dilengkapi dengan middleware untuk CORS, logging, dan recovery.

🗄️

Database Ready

Support untuk PostgreSQL dan MySQL dengan sqlx. Konfigurasi database yang mudah dan connection pooling yang optimal.

📝

YAML Configuration

Konfigurasi aplikasi menggunakan Viper dengan format YAML. Mudah dikelola dan mendukung multiple environments.

📦

Modular Structure

Feature-based folder structure yang memudahkan scaling. Setiap feature memiliki entity, handler, service, dan repository sendiri.

🛡️

Middleware Ready

Pre-configured middleware untuk CORS, logging, dan panic recovery. Siap untuk ditambahkan authentication dan authorization.

🏛️ Arsitektur

Clean Architecture dengan separation of concerns yang jelas

🌐

Handler Layer

Menangani HTTP request/response

⚙️

Service Layer

Business logic dan validasi

💾

Repository Layer

Database operations

📋

Entity Layer

Data models dan structures

Project Structure
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

🛠️ Technology Stack

Teknologi modern dan terpercaya untuk aplikasi production-ready

🔷

Go

Modern Go version

Echo

High performance web framework

🔧

sqlx

Database toolkit

🐘

PostgreSQL

Primary database (optional)

🐬

MySQL

Alternative database (optional)

⚙️

Viper

Configuration management

🚀 Mulai Sekarang

Langkah mudah untuk memulai project Anda

1

Clone Repository

git clone https://github.com/Ikuradachi/skeleton_go.git
2

Install Dependencies

go mod download
3

Configure Environment

cp config.example.yaml config.yaml
4

Run Application

go run cmd/api/main.go