/
main.go
38 lines (31 loc) · 904 Bytes
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main
import (
"context"
"log"
"github.com/gin-gonic/gin"
"github.com/hugovallada/crud-gin/src/configuration/database/mongodb"
"github.com/hugovallada/crud-gin/src/configuration/logger"
"github.com/hugovallada/crud-gin/src/controller/routes"
"github.com/joho/godotenv"
)
func init() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
}
}
func main() {
// Init dependencies
db, err := mongodb.NewMongoDBConnection(context.Background())
if err != nil {
logger.Error("error trying o connect to database", err)
return
}
userController := wire(db)
router := gin.Default() // New não instancia handlers ou middlewares, o default instancia o middleware de logger e recovery
routes.InitRoutes(&router.RouterGroup, userController)
logger.Info("Starting application on port 8080")
if err := router.Run(":8080"); err != nil {
log.Fatal(err)
}
}