Files
fitra-backend/main.go
2025-08-08 00:04:07 +02:00

45 lines
1001 B
Go

package main
import (
"embed"
"fitra-backend/application"
"fitra-backend/controllers"
"fmt"
"html/template"
"log"
"os"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
)
//go:embed views/*
var viewsFS embed.FS
func main() {
if err := godotenv.Load(); err != nil {
log.Println("No .env file found")
}
go application.StartCleanupRoutine()
r := gin.Default()
tmpl := template.Must(template.New("").ParseFS(viewsFS, "views/*.html", "views/partials/*.html"))
r.SetHTMLTemplate(tmpl)
r.GET("/", controllers.HandleIndex)
r.POST("/upload", controllers.HandleFileUpload)
r.GET("/uploads/:fileID/:filename", controllers.HandleFileDownload)
r.GET("/storage", controllers.HandleStorageInfo)
r.GET("/health", func(c *gin.Context) { c.JSON(200, gin.H{"status": "ok"}) })
if port := os.Getenv("PORT"); port != "" {
fmt.Printf("FITRA Backend starting on port %s\n", port)
r.Run(":" + port)
} else {
fmt.Println("FITRA Backend starting on port 8080")
r.Run(":8080")
}
}