31 lines
740 B
Go
31 lines
740 B
Go
package main
|
|
|
|
import (
|
|
"git.timovolkmann.de/gyrogpsc/core"
|
|
"git.timovolkmann.de/gyrogpsc/storage"
|
|
"git.timovolkmann.de/gyrogpsc/web"
|
|
"github.com/sirupsen/logrus"
|
|
"net/http"
|
|
_ "net/http/pprof"
|
|
)
|
|
|
|
func main() {
|
|
// launch profiling server in goroutine to debug performance issues
|
|
go func() {
|
|
logrus.Println(http.ListenAndServe("localhost:6060", nil))
|
|
}()
|
|
|
|
// load configuration from file
|
|
conf := core.ConfigurationFromFile()
|
|
// initialize persistence layer
|
|
repo := storage.NewRepository(conf)
|
|
// initialize message distribution layer
|
|
disp := core.NewDispatcher()
|
|
|
|
// initialize core logic service and inject
|
|
service := core.NewTrackingService(conf, repo, disp)
|
|
|
|
// launch webserver
|
|
web.CreateServer(service, disp, conf)
|
|
}
|