From 11277f12a022b5cfe107a3dab8d33c4412f3e2bf Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Sun, 22 Oct 2017 16:04:11 +0300 Subject: [PATCH] Structuring examples - Pushed to iris-contrib/examples as well. Former-commit-id: 24ee6ce233d83f0b394afc6c69b5a88243406045 --- _examples/README.md | 11 +- _examples/mvc/login/folder_structure.png | Bin 0 -> 33014 bytes .../bootstrap/bootstrapper.go | 0 .../bootstrap/folder_structure.png | Bin 0 -> 30487 bytes _examples/structuring/bootstrap/main.go | 20 +++ .../{handler-based => bootstrap}/main_test.go | 2 +- .../middleware/identity/identity.go | 2 +- .../public/favicon.ico | Bin .../routes/follower.go | 0 .../routes/following.go | 0 .../routes/index.go | 0 .../routes/like.go | 0 .../routes/routes.go | 2 +- .../views/index.html | 0 .../views/shared/error.html | 0 .../views/shared/layout.html | 0 _examples/structuring/handler-based/main.go | 20 --- .../folder_structure.png | Bin 0 -> 28423 bytes .../main.go | 2 +- .../public/css/site.css | 0 .../user/auth.go | 0 .../user/controller.go | 0 .../user/datasource.go | 0 .../user/model.go | 0 .../views/shared/error.html | 0 .../views/shared/layout.html | 0 .../views/user/login.html | 0 .../views/user/me.html | 0 .../views/user/notfound.html | 0 .../views/user/register.html | 0 _examples/structuring/login-mvc/README.md | 1 + .../README.md | 1 + _examples/structuring/mvc/app/app.go | 144 ------------------ .../app/controllers/follower/controller.go | 13 -- .../app/controllers/following/controller.go | 13 -- .../mvc/app/controllers/index/controller.go | 14 -- .../mvc/app/controllers/like/controller.go | 13 -- .../structuring/mvc/app/views/index.html | 1 - .../mvc/app/views/shared/error.html | 5 - .../mvc/app/views/shared/layout.html | 23 --- _examples/structuring/mvc/main.go | 15 -- _examples/structuring/mvc/public/favicon.ico | Bin 15086 -> 0 bytes 42 files changed, 32 insertions(+), 270 deletions(-) create mode 100644 _examples/mvc/login/folder_structure.png rename _examples/structuring/{handler-based => bootstrap}/bootstrap/bootstrapper.go (100%) create mode 100644 _examples/structuring/bootstrap/folder_structure.png create mode 100644 _examples/structuring/bootstrap/main.go rename _examples/structuring/{handler-based => bootstrap}/main_test.go (96%) rename _examples/structuring/{handler-based => bootstrap}/middleware/identity/identity.go (91%) rename _examples/structuring/{handler-based => bootstrap}/public/favicon.ico (100%) rename _examples/structuring/{handler-based => bootstrap}/routes/follower.go (100%) rename _examples/structuring/{handler-based => bootstrap}/routes/following.go (100%) rename _examples/structuring/{handler-based => bootstrap}/routes/index.go (100%) rename _examples/structuring/{handler-based => bootstrap}/routes/like.go (100%) rename _examples/structuring/{handler-based => bootstrap}/routes/routes.go (80%) rename _examples/structuring/{handler-based => bootstrap}/views/index.html (100%) rename _examples/structuring/{handler-based => bootstrap}/views/shared/error.html (100%) rename _examples/structuring/{handler-based => bootstrap}/views/shared/layout.html (100%) delete mode 100644 _examples/structuring/handler-based/main.go create mode 100644 _examples/structuring/login-mvc-single-responsibility-package/folder_structure.png rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/main.go (91%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/public/css/site.css (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/user/auth.go (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/user/controller.go (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/user/datasource.go (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/user/model.go (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/shared/error.html (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/shared/layout.html (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/user/login.html (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/user/me.html (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/user/notfound.html (100%) rename _examples/{mvc/login/_ugly => structuring/login-mvc-single-responsibility-package}/views/user/register.html (100%) create mode 100644 _examples/structuring/login-mvc/README.md create mode 100644 _examples/structuring/mvc-plus-repository-and-service-layers/README.md delete mode 100644 _examples/structuring/mvc/app/app.go delete mode 100644 _examples/structuring/mvc/app/controllers/follower/controller.go delete mode 100644 _examples/structuring/mvc/app/controllers/following/controller.go delete mode 100644 _examples/structuring/mvc/app/controllers/index/controller.go delete mode 100644 _examples/structuring/mvc/app/controllers/like/controller.go delete mode 100644 _examples/structuring/mvc/app/views/index.html delete mode 100644 _examples/structuring/mvc/app/views/shared/error.html delete mode 100644 _examples/structuring/mvc/app/views/shared/layout.html delete mode 100644 _examples/structuring/mvc/main.go delete mode 100644 _examples/structuring/mvc/public/favicon.ico diff --git a/_examples/README.md b/_examples/README.md index 09912183..1729a5df 100644 --- a/_examples/README.md +++ b/_examples/README.md @@ -16,17 +16,18 @@ It doesn't always contain the "best ways" but it does cover each important featu - [POC: Convert the medium-sized project "Parrot" from native to Iris](https://github.com/iris-contrib/parrot) - [POC: Isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/kataras/iris-starter-kit) - [Tutorial: DropzoneJS Uploader](tutorial/dropzonejs) +- [Tutorial: Caddy](tutorial/caddy) ### Structuring Nothing stops you from using your favorite folder structure. Iris is a low level web framework, it has got MVC first-class support but it doesn't limit your folder structure, this is your choice. -Structuring depends on your own needs. We can't tell you how to design your own application for sure but you're free to take a closer look to the examples below; you may find something useful that you can borrow for your app +Structuring depends on your own needs. We can't tell you how to design your own application for sure but you're free to take a closer look to the examples below; you may find something useful that you can borrow for your app; -- [Example 1](mvc/login) -- [Example 2](structuring/mvc) -- [Example 3](structuring/handler-based) -- [Example 4](mvc/overview) +- [Bootstrapper](structuring/bootstrap) +- [MVC with Repository and Service layer Overview](structuring/mvc-plus-repository-and-service-layers) +- [Login (MVC with Single Responsibility package)](structuring/login-mvc-single-responsible-package) +- [Login (MVC with Datamodels, Datasource, Repository and Service layer)](structuring/login-mvc) ### HTTP Listening diff --git a/_examples/mvc/login/folder_structure.png b/_examples/mvc/login/folder_structure.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b273dd080646f4912ec0177b4058c1e9afd9f GIT binary patch literal 33014 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 literal 0 HcmV?d00001 diff --git a/_examples/mvc/login/_ugly/main.go b/_examples/structuring/login-mvc-single-responsibility-package/main.go similarity index 91% rename from _examples/mvc/login/_ugly/main.go rename to _examples/structuring/login-mvc-single-responsibility-package/main.go index ea0f2851..f0e4eb14 100644 --- a/_examples/mvc/login/_ugly/main.go +++ b/_examples/structuring/login-mvc-single-responsibility-package/main.go @@ -3,7 +3,7 @@ package main import ( "time" - "github.com/kataras/iris/_examples/mvc/login/_ugly/user" + "github.com/kataras/iris/_examples/structuring/login-single-responsibility-package/user" "github.com/kataras/iris" "github.com/kataras/iris/sessions" diff --git a/_examples/mvc/login/_ugly/public/css/site.css b/_examples/structuring/login-mvc-single-responsibility-package/public/css/site.css similarity index 100% rename from _examples/mvc/login/_ugly/public/css/site.css rename to _examples/structuring/login-mvc-single-responsibility-package/public/css/site.css diff --git a/_examples/mvc/login/_ugly/user/auth.go b/_examples/structuring/login-mvc-single-responsibility-package/user/auth.go similarity index 100% rename from _examples/mvc/login/_ugly/user/auth.go rename to _examples/structuring/login-mvc-single-responsibility-package/user/auth.go diff --git a/_examples/mvc/login/_ugly/user/controller.go b/_examples/structuring/login-mvc-single-responsibility-package/user/controller.go similarity index 100% rename from _examples/mvc/login/_ugly/user/controller.go rename to _examples/structuring/login-mvc-single-responsibility-package/user/controller.go diff --git a/_examples/mvc/login/_ugly/user/datasource.go b/_examples/structuring/login-mvc-single-responsibility-package/user/datasource.go similarity index 100% rename from _examples/mvc/login/_ugly/user/datasource.go rename to _examples/structuring/login-mvc-single-responsibility-package/user/datasource.go diff --git a/_examples/mvc/login/_ugly/user/model.go b/_examples/structuring/login-mvc-single-responsibility-package/user/model.go similarity index 100% rename from _examples/mvc/login/_ugly/user/model.go rename to _examples/structuring/login-mvc-single-responsibility-package/user/model.go diff --git a/_examples/mvc/login/_ugly/views/shared/error.html b/_examples/structuring/login-mvc-single-responsibility-package/views/shared/error.html similarity index 100% rename from _examples/mvc/login/_ugly/views/shared/error.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/shared/error.html diff --git a/_examples/mvc/login/_ugly/views/shared/layout.html b/_examples/structuring/login-mvc-single-responsibility-package/views/shared/layout.html similarity index 100% rename from _examples/mvc/login/_ugly/views/shared/layout.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/shared/layout.html diff --git a/_examples/mvc/login/_ugly/views/user/login.html b/_examples/structuring/login-mvc-single-responsibility-package/views/user/login.html similarity index 100% rename from _examples/mvc/login/_ugly/views/user/login.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/user/login.html diff --git a/_examples/mvc/login/_ugly/views/user/me.html b/_examples/structuring/login-mvc-single-responsibility-package/views/user/me.html similarity index 100% rename from _examples/mvc/login/_ugly/views/user/me.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/user/me.html diff --git a/_examples/mvc/login/_ugly/views/user/notfound.html b/_examples/structuring/login-mvc-single-responsibility-package/views/user/notfound.html similarity index 100% rename from _examples/mvc/login/_ugly/views/user/notfound.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/user/notfound.html diff --git a/_examples/mvc/login/_ugly/views/user/register.html b/_examples/structuring/login-mvc-single-responsibility-package/views/user/register.html similarity index 100% rename from _examples/mvc/login/_ugly/views/user/register.html rename to _examples/structuring/login-mvc-single-responsibility-package/views/user/register.html diff --git a/_examples/structuring/login-mvc/README.md b/_examples/structuring/login-mvc/README.md new file mode 100644 index 00000000..c6cbf0a5 --- /dev/null +++ b/_examples/structuring/login-mvc/README.md @@ -0,0 +1 @@ +# Please navigate to the [_examples/mvc/login](https://github.com/kataras/iris/tree/master/_examples/mvc/login) \ No newline at end of file diff --git a/_examples/structuring/mvc-plus-repository-and-service-layers/README.md b/_examples/structuring/mvc-plus-repository-and-service-layers/README.md new file mode 100644 index 00000000..692e63c6 --- /dev/null +++ b/_examples/structuring/mvc-plus-repository-and-service-layers/README.md @@ -0,0 +1 @@ +# Please navigate to the [_examples/mvc/overview](https://github.com/kataras/iris/tree/master/_examples/mvc/overview) \ No newline at end of file diff --git a/_examples/structuring/mvc/app/app.go b/_examples/structuring/mvc/app/app.go deleted file mode 100644 index cc778676..00000000 --- a/_examples/structuring/mvc/app/app.go +++ /dev/null @@ -1,144 +0,0 @@ -package app - -import ( - "fmt" - "time" - - "github.com/gorilla/securecookie" - - "github.com/kataras/iris" - "github.com/kataras/iris/middleware/logger" - "github.com/kataras/iris/middleware/recover" - "github.com/kataras/iris/sessions" - - "github.com/kataras/iris/_examples/structuring/mvc/app/controllers/follower" - "github.com/kataras/iris/_examples/structuring/mvc/app/controllers/following" - "github.com/kataras/iris/_examples/structuring/mvc/app/controllers/index" - "github.com/kataras/iris/_examples/structuring/mvc/app/controllers/like" -) - -// Application is our application wrapper and bootstrapper, keeps our settings. -type Application struct { - *iris.Application - - Name string - Owner string - SpawnDate time.Time - - Sessions *sessions.Sessions -} - -// NewApplication returns a new named Application. -func NewApplication(name, owner string) *Application { - return &Application{ - Name: name, - Owner: owner, - Application: iris.New(), - SpawnDate: time.Now(), - } -} - -// begin sends the app's identification info. -func (app *Application) begin(ctx iris.Context) { - // response headers - ctx.Header("App-Name", app.Name) - ctx.Header("App-Owner", app.Owner) - ctx.Header("App-Since", time.Since(app.SpawnDate).String()) - - ctx.Header("Server", "Iris: https://iris-go.com") - - // view data if ctx.View or c.Tmpl = "$page.html" will be called next. - ctx.ViewData("AppName", app.Name) - ctx.ViewData("AppOwner", app.Owner) - ctx.Next() -} - -// SetupViews loads the templates. -func (app *Application) SetupViews(viewsDir string) { - app.RegisterView(iris.HTML(viewsDir, ".html").Layout("shared/layout.html")) -} - -// SetupSessions initializes the sessions, optionally. -func (app *Application) SetupSessions(expires time.Duration, cookieHashKey, cookieBlockKey []byte) { - app.Sessions = sessions.New(sessions.Config{ - Cookie: "SECRET_SESS_COOKIE_" + app.Name, - Expires: expires, - Encoding: securecookie.New(cookieHashKey, cookieBlockKey), - }) -} - -// SetupErrorHandlers prepares the http error handlers (>=400). -// Remember that error handlers in Iris have their own middleware ecosystem -// so the route's middlewares are not running when an http error happened. -// So if we want a logger we have to re-create one, here we will customize that logger as well. -func (app *Application) SetupErrorHandlers() { - httpErrStatusLogger := logger.New(logger.Config{ - Status: true, - IP: true, - Method: true, - Path: true, - MessageContextKey: "message", - LogFunc: func(now time.Time, latency time.Duration, - status, ip, method, path string, - message interface{}) { - - line := fmt.Sprintf("%v %4v %s %s %s", status, latency, ip, method, path) - - if message != nil { - line += fmt.Sprintf(" %v", message) - } - app.Logger().Warn(line) - }, - }) - - app.OnAnyErrorCode(app.begin, httpErrStatusLogger, func(ctx iris.Context) { - err := iris.Map{ - "app": app.Name, - "status": ctx.GetStatusCode(), - "message": ctx.Values().GetString("message"), - } - - if jsonOutput, _ := ctx.URLParamBool("json"); jsonOutput { - ctx.JSON(err) - return - } - - ctx.ViewData("Err", err) - ctx.ViewData("Title", "Error") - ctx.View("shared/error.html") - }) -} - -// SetupRouter registers the available routes from the "controllers" package. -func (app *Application) SetupRouter() { - app.Use(recover.New()) - app.Use(app.begin) - app.Use(iris.Gzip) - - app.Favicon("./public/favicon.ico") - app.StaticWeb("/public", "./public") - - app.Use(logger.New()) - - app.Controller("/", new(index.Controller)) - app.Controller("/follower", new(follower.Controller)) - app.Controller("/following", new(following.Controller)) - app.Controller("/like", new(like.Controller)) -} - -// Instance is our global application bootstrap instance. -var Instance = NewApplication("My Awesome App", "kataras2006@hotmail.com") - -// Boot starts our default instance appolication. -func Boot(runner iris.Runner, configurators ...iris.Configurator) { - Instance.SetupViews("./app/views") - Instance.SetupSessions(24*time.Hour, - []byte("the-big-and-secret-fash-key-here"), - []byte("lot-secret-of-characters-big-too"), - ) - - Instance.SetupErrorHandlers() - Instance.SetupRouter() - - Instance.Run(runner, configurators...) -} diff --git a/_examples/structuring/mvc/app/controllers/follower/controller.go b/_examples/structuring/mvc/app/controllers/follower/controller.go deleted file mode 100644 index dd06ad13..00000000 --- a/_examples/structuring/mvc/app/controllers/follower/controller.go +++ /dev/null @@ -1,13 +0,0 @@ -package follower - -import ( - "github.com/kataras/iris" -) - -type Controller struct { - iris.Controller -} - -func (c *Controller) GetBy(id int64) { - c.Ctx.Writef("from "+c.Route().Path()+" with ID: %d", id) -} diff --git a/_examples/structuring/mvc/app/controllers/following/controller.go b/_examples/structuring/mvc/app/controllers/following/controller.go deleted file mode 100644 index 9de54d05..00000000 --- a/_examples/structuring/mvc/app/controllers/following/controller.go +++ /dev/null @@ -1,13 +0,0 @@ -package following - -import ( - "github.com/kataras/iris" -) - -type Controller struct { - iris.Controller -} - -func (c *Controller) GetBy(id int64) { - c.Ctx.Writef("from "+c.Route().Path()+" with ID: %d", id) -} diff --git a/_examples/structuring/mvc/app/controllers/index/controller.go b/_examples/structuring/mvc/app/controllers/index/controller.go deleted file mode 100644 index 40101fbb..00000000 --- a/_examples/structuring/mvc/app/controllers/index/controller.go +++ /dev/null @@ -1,14 +0,0 @@ -package index - -import ( - "github.com/kataras/iris" -) - -type Controller struct { - iris.Controller -} - -func (c *Controller) Get() { - c.Data["Title"] = "Index" - c.Tmpl = "index.html" -} diff --git a/_examples/structuring/mvc/app/controllers/like/controller.go b/_examples/structuring/mvc/app/controllers/like/controller.go deleted file mode 100644 index 851c3267..00000000 --- a/_examples/structuring/mvc/app/controllers/like/controller.go +++ /dev/null @@ -1,13 +0,0 @@ -package like - -import ( - "github.com/kataras/iris" -) - -type Controller struct { - iris.Controller -} - -func (c *Controller) GetBy(id int64) { - c.Ctx.Writef("from "+c.Route().Path()+" with ID: %d", id) -} diff --git a/_examples/structuring/mvc/app/views/index.html b/_examples/structuring/mvc/app/views/index.html deleted file mode 100644 index 4a813af6..00000000 --- a/_examples/structuring/mvc/app/views/index.html +++ /dev/null @@ -1 +0,0 @@ -

Welcome!!

\ No newline at end of file diff --git a/_examples/structuring/mvc/app/views/shared/error.html b/_examples/structuring/mvc/app/views/shared/error.html deleted file mode 100644 index 9fde08ad..00000000 --- a/_examples/structuring/mvc/app/views/shared/error.html +++ /dev/null @@ -1,5 +0,0 @@ -

Error.

-

An error occurred while processing your request.

- -

{{.Err.status}}

-

{{.Err.message}}

\ No newline at end of file diff --git a/_examples/structuring/mvc/app/views/shared/layout.html b/_examples/structuring/mvc/app/views/shared/layout.html deleted file mode 100644 index cf920444..00000000 --- a/_examples/structuring/mvc/app/views/shared/layout.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - {{.Title}} - {{.AppName}} - - - - -
- - {{ yield }} -
-
-

© 2017 - {{.AppOwner}}

-
-
- - - \ No newline at end of file diff --git a/_examples/structuring/mvc/main.go b/_examples/structuring/mvc/main.go deleted file mode 100644 index a871846d..00000000 --- a/_examples/structuring/mvc/main.go +++ /dev/null @@ -1,15 +0,0 @@ -package main - -import ( - "github.com/kataras/iris" - - "github.com/kataras/iris/_examples/structuring/mvc/app" -) - -func main() { - // http://localhost:8080 - // http://localhost:8080/follower/42 - // http://localhost:8080/following/42 - // http://localhost:8080/like/42 - app.Boot(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed), iris.WithoutVersionChecker) -} diff --git a/_examples/structuring/mvc/public/favicon.ico b/_examples/structuring/mvc/public/favicon.ico deleted file mode 100644 index c370da518ec542579b7cc0d5d30f4778b4a96318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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