add base goffee
This commit is contained in:
parent
c95e8a9245
commit
ac2cfa9fe1
108 changed files with 64018 additions and 0 deletions
72
main.go
Normal file
72
main.go
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
// Copyright 2023 Harran Ali <harran.m@gmail.com>. All rights reserved.
|
||||
// Copyright (c) 2024 Zeni Kim <zenik@smarteching.com>
|
||||
// Use of this source code is governed by MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"git.smarteching.com/goffee/core"
|
||||
"git.smarteching.com/goffee/core/env"
|
||||
"git.smarteching.com/goffee/core/logger"
|
||||
"git.smarteching.com/jacs/goffeetabler/config"
|
||||
"github.com/joho/godotenv"
|
||||
"github.com/julienschmidt/httprouter"
|
||||
)
|
||||
|
||||
//go:embed all:storage/templates
|
||||
var resources embed.FS
|
||||
|
||||
// The main function
|
||||
func main() {
|
||||
app := core.New()
|
||||
basePath, err := os.Getwd()
|
||||
runMode := "dev"
|
||||
if len(os.Args) > 1 {
|
||||
if os.Args[1] == "prod" || os.Args[1] == "dev" {
|
||||
runMode = os.Args[1]
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatal("error getting current working dir")
|
||||
}
|
||||
app.SetBasePath(basePath)
|
||||
app.SetRunMode(runMode)
|
||||
app.MakeDirs("logs", "storage", "storage/sqlite", "tls")
|
||||
// Handle the reading of the .env file
|
||||
if config.GetEnvFileConfig().UseDotEnvFile {
|
||||
envfile := ".env-dev"
|
||||
if runMode == "prod" {
|
||||
envfile = ".env"
|
||||
}
|
||||
envVars, err := godotenv.Read(envfile)
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
env.SetEnvVars(envVars)
|
||||
}
|
||||
// Handle the logs
|
||||
app.SetLogsDriver(&logger.LogFileDriver{
|
||||
FilePath: path.Join(basePath, "logs/app.log"),
|
||||
})
|
||||
app.SetRequestConfig(config.GetRequestConfig())
|
||||
app.SetGormConfig(config.GetGormConfig())
|
||||
app.SetCacheConfig(config.GetCacheConfig())
|
||||
app.Bootstrap()
|
||||
app.RegisterTemplates(resources)
|
||||
registerGlobalHooks()
|
||||
registerRoutes()
|
||||
registerEvents()
|
||||
if config.GetQueueConfig().EnableQueue == true {
|
||||
registerQueues()
|
||||
}
|
||||
if config.GetGormConfig().EnableGorm == true {
|
||||
RunAutoMigrations()
|
||||
}
|
||||
app.Run(httprouter.New())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue