https://github.com/mukailasam/igo
igo.go is a simple and lightweight micro-framework for Go web-applications.
https://github.com/mukailasam/igo
go http igo rest web-framework
Last synced: about 13 hours ago
JSON representation
igo.go is a simple and lightweight micro-framework for Go web-applications.
- Host: GitHub
- URL: https://github.com/mukailasam/igo
- Owner: mukailasam
- License: mit
- Created: 2025-11-02T16:23:35.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-16T11:11:26.000Z (7 months ago)
- Last Synced: 2025-11-16T13:05:37.515Z (7 months ago)
- Topics: go, http, igo, rest, web-framework
- Language: Go
- Homepage:
- Size: 19.5 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://go.dev/)
[](LICENSE)
[](https://goreportcard.com/report/github.com/mukailasam/igo)
# Igo - Go Web Framework
Igo is a simple and lightweight micro web-framework for Go - inspired by [Bottle](https://bottlepy.org).
It is distributed as a **single file (`igo.go`)** package and depends only on the Go standard library.
## Background
I built it because I wanted a Bottle-like microframework for my CodeLab - something personal, minimal, and easy to use for experimenting and creating **small Go projects** without setup overhead.
> The name **“Igo”** comes from the **Yoruba** word **“Ìgò”**, which means **“bottle.”** \
> ma pa igo lo ri e😂
## Install
```go
go get -u github.com/mukailasam/igo
```
## Features
- **Routing:** Map HTTP requests to handler functions with dynamic URL support.
- **Utilities:** Easy access to URL parameters, form data, headers, and other HTTP features.
- **Server:** Built-in development server powered by Go’s `net/http`.
Homepage and documentation: https://mukailasam.space/igo/docs/docs.html
## Example Usage:
```go
package main
import (
"fmt"
"github.com/mukailasam/igo"
)
func main() {
app := igo.NewIgo()
app.GET("/", func(ctx *igo.Context) {
name := ctx.GetParam("name")
ctx.Text(200, fmt.Sprintf("Hello, %s!", name))
})
app.Run(":1337")
}
```
## Contributing
Contributions are welcome!
To contribute:
- Fork the repository
- Create a new branch
- Implement your feature or fix
- Open a pull request
Make sure to follow Go’s code formatting and keep your commits clean and descriptive.