package main import ( "crowsnest/internal/app" "crowsnest/internal/crawler" "crowsnest/internal/middleware" "crowsnest/internal/model/database" "log" "net/http" "time" _ "github.com/lib/pq" ) func main() { db, err := database.DbConnection() if err != nil { log.Fatal("failed to connect to database due to", err.Error()) } // run web crawlers coll := crawler.Crawler{ Articles: &database.ArticleModel{DB: db}, } go func() { for { coll.ZeitCollectIndex() coll.SpiegelCollectIndex() time.Sleep(5 * time.Minute) } }() // define app webapp := app.NewApp(db) // create middle stack := middleware.CreateStack( middleware.Logging, ) // start web server server := http.Server{ Addr: ":8080", Handler: stack(webapp.Routes()), } log.Println("server started, listening on :8080") server.ListenAndServe() }