package main // Look README.md import ( "fmt" "log" "os" "myapp/api" "myapp/sql" "github.com/kataras/iris/v12" ) func main() { dsn := fmt.Sprintf("%s:%s@tcp(%s:3306)/%s?parseTime=true&charset=utf8mb4&collation=utf8mb4_unicode_ci", getenv("MYSQL_USER", "user_myapp"), getenv("MYSQL_PASSWORD", "dbpassword"), getenv("MYSQL_HOST", "localhost"), getenv("MYSQL_DATABASE", "myapp"), ) db, err := sql.ConnectMySQL(dsn) if err != nil { log.Fatalf("error connecting to the MySQL database: %v", err) } secret := getenv("JWT_SECRET", "EbnJO3bwmX") app := iris.New() subRouter := api.Router(db, secret) app.PartyFunc("/", subRouter) addr := fmt.Sprintf(":%s", getenv("PORT", "8080")) app.Listen(addr) } func getenv(key string, def string) string { v := os.Getenv(key) if v == "" { return def } return v }