GOE is a simple and easy to use web development framework for Go. It is designed to be simple and easy to use, and to be able to quickly build a web application. It is based on the GoFiber v3 framework, and adds some useful features.
GOE learned from practices of Golang projects, Java web development frameworks, such as Spring Boot, and tried to provide a similar experience but simpler and lighter.
Thanks for the following projects that GOE relies on or inspired by:
- GoFiber - For handling HTTP related tasks.
- GoFr - For the project structure and interface design.
- Qmgo - For the MongoDB operations.
- Gookit Validate - For the data validation.
- PocketBase - For the mailer implementation and interface design.
- Delayqueue - For the message queue implementation.
- Zap - For the logger implementation.
Kelindar Event - For the event bus implementation.
The only goal of GOE is to provide a simple and easy to use web development framework for Go. Developers should only focus on the business logic, and GOE will handle the rest.
Currently, GOE only supports MongoDB.
go get -u go.oease.dev/goe
package main
import (
"github.com/gofiber/fiber/v3"
"go.oease.dev/goe"
)
func main() {
// This is an example of a main function
// Create a new goe app, this will initialize the app and its dependencies
err := goe.NewApp()
if err != nil {
panic(err)
return
}
// Use the Fiber module to set up a simple hello world route
goe.UseFiber().App().Get("/hello", func(ctx fiber.Ctx) error {
return ctx.SendString("Hello, World!")
})
// Run the app, this will start the server and block the main thread. Graceful shutdown is supported.
err = goe.Run()
if err != nil {
panic(err)
return
}
}
read more in example