Server toolkit - minimal and simple framework for developing server in golang
STK provides a suite of tools tailored for building and managing server applications.
- 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.
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
- Setup and initialize a project scaffolded using gsk and clean arch format. Read more about the project structure here
stk init
- Start the server
make run
it will run go run . serve -p 8080
command
- Test the server
curl http://localhost:8080/api/ping
Checkout the full documentation here
- CLI tool for generating migration files and running migrations
- Supports sqlite3 (default)
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