diff --git a/src/controller/mod.rs b/src/controller/mod.rs
index 861f657d127990136aaeda07c46f9cb78a73ac78..38cfed4c6ed776280131deda1dce1d2483b72908 100644
--- a/src/controller/mod.rs
+++ b/src/controller/mod.rs
@@ -1,10 +1,20 @@
 pub mod product;
+pub mod notification;
 
 use rocket::fairing::AdHoc;
 
 pub fn route_stage() -> AdHoc {
     return AdHoc::on_ignite("Initializing controller routes...", |rocket| async {
         rocket
-            .mount("/product", routes![product::create, product::list, product::read, product::delete])
+        .mount(
+            "/product",
+            routes![
+                product::create,
+                product::list,
+                product::read,
+                product::delete
+            ],
+        )
+        .mount("/notification", routes![])
     });
 }
diff --git a/src/controller/notification.rs b/src/controller/notification.rs
new file mode 100644
index 0000000000000000000000000000000000000000..b411b3cefb403502578c302f8c9b751ca1e26300
--- /dev/null
+++ b/src/controller/notification.rs
@@ -0,0 +1,6 @@
+use rocket::response::status::Created;
+use rocket::serde::json::Json;
+
+use crate::model::subscriber::Subscriber;
+use crate::service::notification::NotificationService;
+use bambangshop::Result;
\ No newline at end of file
diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index 6b9e92cf15447ee8172e90d603a5530a61d8db1f..9e78e8690eb0f9452dd9408c702b7f4dc1eae194 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -7,9 +7,9 @@ lazy_static!{
     static ref SUBSCRIBERS: DashMap<String, DashMap<String, Subscriber>> = DashMap::new();
 }
 
-pub struct SubscirberRepository;
+pub struct SubscriberRepository;
 
-impl SubscirberRepository{
+impl SubscriberRepository{
     pub fn add(product_type: &str, subscriber: Subscriber) -> Subscriber {
         let subscriber_value = subscriber.clone();
         if SUBSCRIBERS.get(product_type).is_none() {
diff --git a/src/service/mod.rs b/src/service/mod.rs
index 68024e148492337f0e30a98004247f4755ad48b6..0d6deb1bc85cd988a0b7651f10aff3561f6e0b3c 100644
--- a/src/service/mod.rs
+++ b/src/service/mod.rs
@@ -1 +1,2 @@
 pub mod product;
+pub mod notification;
diff --git a/src/service/notification.rs b/src/service/notification.rs
new file mode 100644
index 0000000000000000000000000000000000000000..dce5cbe374f638cbf07bbced0039db071daa2ac4
--- /dev/null
+++ b/src/service/notification.rs
@@ -0,0 +1,11 @@
+use crate::model::notification::Notification;
+use crate::model::product::Product;
+use crate::model::subscriber::Subscriber;
+use crate::repository::subscriber::SubscriberRepository;
+use bambangshop::{compose_error_response, Result};
+use rocket::http::Status;
+use std::thread;
+
+pub struct NotificationService;
+
+impl NotificationService {}
\ No newline at end of file