/stk

Server tool kit - framework for developing server in golang

Primary LanguageGoMIT LicenseMIT

STK

Server toolkit - minimal and simple framework for developing server in golang

Build and Test Go Release Workflow

STK provides a suite of tools tailored for building and managing server applications.

Features:

  • Gsk (library): Ideal for constructing servers.
  • STK CLI:
    • Quickly scaffold your project and add modules with ease. It uses gsk package to run the server.
    • Migrator: Generate migration files, perform migration on your sql database.

Installation

with go install

go install github.com/adharshmk96/stk@latest

If installation fails, check the GOPATH and GOBIN environment variables. Make sure that GOBIN is added to your PATH.

echo export PATH=$PATH:$(go env GOPATH)/bin >> ~/.zshrc
source ~/.zshrc

or

echo export PATH=$PATH:$(go env GOPATH)/bin >> ~/.bashrc
source ~/.bashrc

Get started ( with CLI )

  1. Setup and initialize a project scaffolded using gsk and clean arch format. Read more about the project structure here
stk init
  1. Start the server
make run

it will run go run . serve -p 8080 command

  1. Test the server
curl http://localhost:8080/api/ping

Checkout the full documentation here

Migrator

  • CLI tool for generating migration files and running migrations
  • Supports sqlite3 (default)

Get started

Generate migration files ( optinally name it and fill )

stk migrator generate -n "initial migration" --fill

migrate up ( applies all migrations, or specified number of steps )

stk migrator up

migrate down ( applies all down migrations, or specified number of steps )

stk migrator down

History - Shows history of applied migrations

stk migrator history

Development

refer development docs