Creating modules - Sharykhin/go-modular GitHub Wiki
There is "modules" directory in the project (by default under application directory)
- 
Create new directory, the name will be name of module 
- 
Then create "controller" and "views" directories inside of your modules 
Let's imagine, that we have created user module go into controller directory and create DefaultController.go
package user
import "net/http"
import controller "project/todos/application/controller"
type DefaultController struct {
	controller.BaseController
}
func (ctrl *DefaultController) IndexAction(res http.ResponseWriter, req *http.Request) error {
	if err := ctrl.RenderView(res,req, "modules/user:user", nil, nil); err != nil {
		return err
	}
	return nil
}
func (ctrl *DefaultController) UserProfileAction(res http.ResponseWriter, req *http.Request) error {
	if err := ctrl.Render(res,req, "modules/user:profile", nil, struct {
		UserName string
	}{
		UserName: "John",
	}); err != nil {
		return err
	}
	return nil
}
As you can see on example, we specified package, which is name of our module. We also use views from modules. By the same way, you can initialize a models which are resposible for data of modules.