diff --git a/backend/factory/config_config.go b/backend/factory/config_config.go
new file mode 100644
index 0000000000000000000000000000000000000000..ad2b0fc04a84fbffc44211659fc976050a00be0b
--- /dev/null
+++ b/backend/factory/config_config.go
@@ -0,0 +1,10 @@
+/*
+ * WebUI Configuration Factory
+ */
+
+package factory
+
+type Config struct {
+	Info          *Info          `yaml:"info"`
+	Configuration *Configuration `yaml:"configuration"`
+}
diff --git a/backend/factory/config_configuration.go b/backend/factory/config_configuration.go
new file mode 100644
index 0000000000000000000000000000000000000000..c4e67caa035559aad0822310edf92d079435b7a6
--- /dev/null
+++ b/backend/factory/config_configuration.go
@@ -0,0 +1,9 @@
+/*
+ * WebUI Configuration Factory
+ */
+
+package factory
+
+type Configuration struct {
+	Mongodb *Mongodb `yaml:"mongodb"`
+}
diff --git a/backend/factory/config_info.go b/backend/factory/config_info.go
new file mode 100644
index 0000000000000000000000000000000000000000..fd259843a4c8b2d1ca6ea740507b30aee89f9401
--- /dev/null
+++ b/backend/factory/config_info.go
@@ -0,0 +1,10 @@
+/*
+ * WebUI Configuration Factory
+ */
+
+package factory
+
+type Info struct {
+	Version     string `yaml:"version,omitempty"`
+	Description string `yaml:"description,omitempty"`
+}
diff --git a/backend/factory/config_mongodb.go b/backend/factory/config_mongodb.go
new file mode 100644
index 0000000000000000000000000000000000000000..105508b5a5b16931754d44682b8a4433debc4bf6
--- /dev/null
+++ b/backend/factory/config_mongodb.go
@@ -0,0 +1,10 @@
+/*
+ * WebUI Configuration Factory
+ */
+
+package factory
+
+type Mongodb struct {
+	Name string `yaml:"name"`
+	Url  string `yaml:"url"`
+}
diff --git a/backend/factory/factory.go b/backend/factory/factory.go
new file mode 100644
index 0000000000000000000000000000000000000000..317d45a7fbe921e6e29ca7a77a5a5bfbffa1ecb1
--- /dev/null
+++ b/backend/factory/factory.go
@@ -0,0 +1,36 @@
+/*
+ * WebUI Configuration Factory
+ */
+
+package factory
+
+import (
+	"fmt"
+	"io/ioutil"
+
+	"gopkg.in/yaml.v2"
+
+	"free5gc/webconsole/backend/logger"
+)
+
+var WebUIConfig Config
+
+func checkErr(err error) {
+	if err != nil {
+		err = fmt.Errorf("[Configuration] %s", err.Error())
+		logger.AppLog.Fatal(err)
+	}
+}
+
+// TODO: Support configuration update from REST api
+func InitConfigFactory(f string) {
+	content, err := ioutil.ReadFile(f)
+	checkErr(err)
+
+	WebUIConfig = Config{}
+
+	err = yaml.Unmarshal([]byte(content), &WebUIConfig)
+	checkErr(err)
+
+	logger.InitLog.Infof("Successfully initialize configuration %s", f)
+}
diff --git a/backend/webui_service/webui_init.go b/backend/webui_service/webui_init.go
index 26b48cbd758536f5a0ebc5c5b607dbb9dfe08e8a..cbe8a6e3aa7f14a672f7df56b8801200aa098719 100644
--- a/backend/webui_service/webui_init.go
+++ b/backend/webui_service/webui_init.go
@@ -7,7 +7,7 @@ import (
 	"free5gc/lib/MongoDBLibrary"
 	"free5gc/lib/path_util"
 	"free5gc/src/app"
-	"free5gc/src/udr/factory"
+	"free5gc/webconsole/backend/factory"
 	"free5gc/webconsole/backend/WebUI"
 	"free5gc/webconsole/backend/logger"
 	"free5gc/webconsole/backend/webui_context"
@@ -59,8 +59,8 @@ func (*WEBUI) Initialize(c *cli.Context) {
 	if config.webuicfg != "" {
 		factory.InitConfigFactory(config.webuicfg)
 	} else {
-		DefaultUdrConfigPath := path_util.Gofree5gcPath("free5gc/config/webuicfg.conf")
-		factory.InitConfigFactory(DefaultUdrConfigPath)
+		DefaultWebUIConfigPath := path_util.Gofree5gcPath("free5gc/config/webuicfg.conf")
+		factory.InitConfigFactory(DefaultWebUIConfigPath)
 	}
 
 	initLog.Traceln("WEBUI debug level(string):", app.ContextSelf().Logger.WEBUI.DebugLevel)
@@ -90,8 +90,8 @@ func (webui *WEBUI) FilterCli(c *cli.Context) (args []string) {
 }
 
 func (webui *WEBUI) Start() {
-	// get config file info from UdrConfig
-	mongodb := factory.UdrConfig.Configuration.Mongodb
+	// get config file info from WebUIConfig
+	mongodb := factory.WebUIConfig.Configuration.Mongodb
 
 	// Connect to MongoDB
 	MongoDBLibrary.SetMongoDB(mongodb.Name, mongodb.Url)