// internal/core/module.go package core import ( "gofaster/internal/shared/config" "gofaster/internal/shared/database" "github.com/gin-gonic/gin" "go.uber.org/zap" "gorm.io/gorm" ) type Module interface { Name() string Init(config *config.Config, logger *zap.Logger, db *gorm.DB, redis *database.RedisClient) error RegisterRoutes(router *gin.RouterGroup) Cleanup() }