diff --git a/Cargo.toml b/Cargo.toml index 6180f83..10c7ed9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,4 @@ +workspace = { members = ["apps/account/domain/repo"] } [package] name = "sold" version = "0.1.0" @@ -6,3 +7,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +actix-web = "4" diff --git a/apps/account/domain/entity/mod.rs b/src/apps/account/api/account.pb similarity index 100% rename from apps/account/domain/entity/mod.rs rename to src/apps/account/api/account.pb diff --git a/src/apps/account/domain/entity/mod.rs b/src/apps/account/domain/entity/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/domain/repo/mod.rs b/src/apps/account/domain/repo/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/domain/service/mod.rs b/src/apps/account/domain/service/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/mod.rs b/src/apps/account/mod.rs new file mode 100644 index 0000000..5b6b20e --- /dev/null +++ b/src/apps/account/mod.rs @@ -0,0 +1,6 @@ +mod service; +mod server; + +pub fn boot() { + start_server(); +} \ No newline at end of file diff --git a/src/apps/account/server/mod.rs b/src/apps/account/server/mod.rs new file mode 100644 index 0000000..7a54be7 --- /dev/null +++ b/src/apps/account/server/mod.rs @@ -0,0 +1,5 @@ +mod server; + +pub fn start_server() { + server::start_server() +} \ No newline at end of file diff --git a/src/apps/account/server/server.rs b/src/apps/account/server/server.rs new file mode 100644 index 0000000..4d95c35 --- /dev/null +++ b/src/apps/account/server/server.rs @@ -0,0 +1,16 @@ +use actix_web::{get, web, App, HttpServer, Responder}; + +#[get("/hello/{name}")] +async fn greet(name: web::Path) -> impl Responder { + format!("Hello {name}!") +} + + +pub fn start_server() -> std::io::Result<()> { + HttpServer::new(|| { + App::new().service(greet) + }) + .bind(("127.0.0.1", 8080))? + .run() + .await +} \ No newline at end of file diff --git a/src/apps/account/service/mod.rs b/src/apps/account/service/mod.rs new file mode 100644 index 0000000..17a8960 --- /dev/null +++ b/src/apps/account/service/mod.rs @@ -0,0 +1 @@ +mod service; \ No newline at end of file diff --git a/src/apps/account/service/service.rs b/src/apps/account/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/api/order.pb b/src/apps/order/api/order.pb new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/entity/entity.rs b/src/apps/order/domain/entity/entity.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/repo/repo.rs b/src/apps/order/domain/repo/repo.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/service/service.rs b/src/apps/order/domain/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/mod.rs b/src/apps/order/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/http.rs b/src/apps/order/server/http.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/mod.rs b/src/apps/order/server/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/server.rs b/src/apps/order/server/server.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/service/mod.rs b/src/apps/order/service/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/service/service.rs b/src/apps/order/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/cmd/all_in_one/boot.rs b/src/cmd/all_in_one/boot.rs new file mode 100644 index 0000000..2656ba4 --- /dev/null +++ b/src/cmd/all_in_one/boot.rs @@ -0,0 +1,5 @@ +use crate::apps::account as account; + +fn start_apps() { + account::boot() +} \ No newline at end of file diff --git a/src/cmd/all_in_one/mod.rs b/src/cmd/all_in_one/mod.rs new file mode 100644 index 0000000..246fb44 --- /dev/null +++ b/src/cmd/all_in_one/mod.rs @@ -0,0 +1 @@ +pub mod boot; \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..60020e7 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,2 @@ +pub mod all_in_one; +use apps::account; \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index e7a11a9..5aa916c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,7 @@ -fn main() { +use crate::account; +use apps::account; + +#[actix_web::main] // or #[tokio::main] +async fn main() -> std::io::Result<()> { println!("Hello, world!"); }