Skip to content

Development Standard

Arjuna Ragil Putera edited this page Jan 21, 2026 · 1 revision

Development Standard

Project Layout

localbase/
├── cmd/                  # 🟢 Entry Point
│   └── server/
│       └── main.go       # Main go file
│
├── internal/             # 🧠 Private Code
│   ├── api/              # API Handler
│   │   ├── handlers/     # Endpoint for every logic (UserHandler, ProjectHandler)
│   │   ├── middleware/   # Auth, CORS, Panic Recovery
│   │   └── routes.go     # List of all routes
│   │
│   ├── core/             # Business Logic
│   │   ├── domain/       # Dictionary / Structs (User, Block, Table)
│   │   └── services/     # Logic (e.g., "Hash Logic", "Create Table")
│   │
│   ├── adapters/         # Adapters
│   │   ├── repository/   # List of database queries (Postgres & SQLite)
│   │   └── blockchain/   # Implementation of SHA-256 Linked List
│   │
│   └── config/           # Load .env
│
├── web/                  # 🎨 Frontend source (React + Vite)
│   ├── src/
│   ├── public/
│   ├── package.json
│   └── dist/             # Build result
│
├── storage/              # 💾 Data storage (will be ignored by git)
│   ├── sites/            # Folder hosting user
│   ├── ledger.db         # File Blockchain
│   └── uploads/          # File uploads
│
├── pkg/                  # 📦 Library
│   └── utils/            # Helper functions
│
├── go.mod                # Go module
├── Dockerfile            # Dockerfile
├── docker-compose.yml    # Docker Compose
└── Makefile              # Makefile

Commit Message

  • feat: New feature
  • fix: Fix bug
  • docs: Documentation
  • style: Style
  • refactor: Refactor
  • test: Test
  • chore: Chore

branch naming

template: type/issue_number-title

  • feat/: feature_name
  • fix/: fix_name
  • docs/: docs_name
  • style/: style_name
  • refactor/: refactor_name
  • test/: test_name
  • chore/: chore_name

Standard API Response (JSON)

{
    "status": "success",    //status of the request
    "message": "",          //message of the request
    "data": {}              //data of the request
}

Clone this wiki locally