diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 90cfa60..adf21d1 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -1,15 +1,15 @@ -name: SonarCloud +name: Sonar Coverage on: - pull_request: + push: branches: - develop - push: + pull_request: branches: - develop jobs: - sonarcloud: + sonar: runs-on: ubuntu-latest steps: @@ -17,7 +17,7 @@ jobs: with: fetch-depth: 0 - - name: Install Rust with Clippy + - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: clippy @@ -25,14 +25,29 @@ jobs: - name: Install grcov run: cargo install grcov + - name: Generate coverage + run: | + export CARGO_INCREMENTAL=0 + export RUSTFLAGS="-Cinstrument-coverage" + export LLVM_PROFILE_FILE="coverage-%p-%m.profraw" + + cargo test + + grcov . --binary-path ./target/debug/ \ + -s . \ + -t lcov \ + --branch \ + --ignore-not-existing \ + -o lcov.info + - name: SonarCloud Scan uses: SonarSource/sonarcloud-github-action@v2 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - args: > - -Dsonar.projectBaseDir=backend - -Dsonar.projectKey=backend + with: + args: > + -Dsonar.projectKey=morutine_backend -Dsonar.organization=morutine - -Dsonar.javascript.lcov.reportPaths=coverage.lcov + -Dsonar.projectBaseDir=. + -Dsonar.coverageReportPaths=lcov.info diff --git a/backend/.gitignore b/.gitignore similarity index 100% rename from backend/.gitignore rename to .gitignore diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..c5b6697 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,3 @@ +[workspace] +members = ["morutine-api", "morutine-domain", "morutine-infra", "morutine-common"] +resolver = "2" diff --git a/backend/Cargo.toml b/backend/Cargo.toml deleted file mode 100644 index ee010e3..0000000 --- a/backend/Cargo.toml +++ /dev/null @@ -1,3 +0,0 @@ -[workspace] -members = ["todo-api", "todo-domain", "todo-infra", "todo-common"] -resolver = "2" diff --git a/backend/config/default.yml b/config/default.yml similarity index 100% rename from backend/config/default.yml rename to config/default.yml diff --git a/backend/config/local.yml b/config/local.yml similarity index 100% rename from backend/config/local.yml rename to config/local.yml diff --git a/backend/todo-api/Cargo.toml b/morutine-api/Cargo.toml similarity index 87% rename from backend/todo-api/Cargo.toml rename to morutine-api/Cargo.toml index 8bd8f9a..c6fedba 100644 --- a/backend/todo-api/Cargo.toml +++ b/morutine-api/Cargo.toml @@ -30,6 +30,6 @@ jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] } bcrypt = "0.17.0" # 도메인/인프라 의존성 -domain = { path = "../todo-domain" } -infra = { path = "../todo-infra" } -common = { path = "../todo-common" } +domain = { path = "../morutine-domain" } +infra = { path = "../morutine-infra" } +common = { path = "../morutine-common" } diff --git a/backend/todo-api/src/bootstrap/config.rs b/morutine-api/src/bootstrap/config.rs similarity index 100% rename from backend/todo-api/src/bootstrap/config.rs rename to morutine-api/src/bootstrap/config.rs diff --git a/backend/todo-api/src/bootstrap/cors.rs b/morutine-api/src/bootstrap/cors.rs similarity index 100% rename from backend/todo-api/src/bootstrap/cors.rs rename to morutine-api/src/bootstrap/cors.rs diff --git a/backend/todo-api/src/bootstrap/logger.rs b/morutine-api/src/bootstrap/logger.rs similarity index 92% rename from backend/todo-api/src/bootstrap/logger.rs rename to morutine-api/src/bootstrap/logger.rs index 9434a05..dd4d07d 100644 --- a/backend/todo-api/src/bootstrap/logger.rs +++ b/morutine-api/src/bootstrap/logger.rs @@ -1,5 +1,5 @@ use crate::bootstrap::config::AppConfig; -use tracing_subscriber::{EnvFilter, fmt}; +use tracing_subscriber::EnvFilter; pub fn init_logger(config: &AppConfig) { let level = config.logging.level.to_string(); diff --git a/backend/todo-api/src/bootstrap/middleware.rs b/morutine-api/src/bootstrap/middleware.rs similarity index 100% rename from backend/todo-api/src/bootstrap/middleware.rs rename to morutine-api/src/bootstrap/middleware.rs diff --git a/backend/todo-api/src/bootstrap/mod.rs b/morutine-api/src/bootstrap/mod.rs similarity index 100% rename from backend/todo-api/src/bootstrap/mod.rs rename to morutine-api/src/bootstrap/mod.rs diff --git a/backend/todo-api/src/bootstrap/state.rs b/morutine-api/src/bootstrap/state.rs similarity index 100% rename from backend/todo-api/src/bootstrap/state.rs rename to morutine-api/src/bootstrap/state.rs diff --git a/backend/todo-api/src/common/error/app_error.rs b/morutine-api/src/common/error/app_error.rs similarity index 100% rename from backend/todo-api/src/common/error/app_error.rs rename to morutine-api/src/common/error/app_error.rs diff --git a/backend/todo-api/src/common/error/database_error_wrapper.rs b/morutine-api/src/common/error/database_error_wrapper.rs similarity index 100% rename from backend/todo-api/src/common/error/database_error_wrapper.rs rename to morutine-api/src/common/error/database_error_wrapper.rs diff --git a/backend/todo-api/src/common/error/error_into_response.rs b/morutine-api/src/common/error/error_into_response.rs similarity index 100% rename from backend/todo-api/src/common/error/error_into_response.rs rename to morutine-api/src/common/error/error_into_response.rs diff --git a/backend/todo-api/src/common/error/mod.rs b/morutine-api/src/common/error/mod.rs similarity index 100% rename from backend/todo-api/src/common/error/mod.rs rename to morutine-api/src/common/error/mod.rs diff --git a/backend/todo-api/src/common/mod.rs b/morutine-api/src/common/mod.rs similarity index 100% rename from backend/todo-api/src/common/mod.rs rename to morutine-api/src/common/mod.rs diff --git a/backend/todo-api/src/common/response/api_response.rs b/morutine-api/src/common/response/api_response.rs similarity index 100% rename from backend/todo-api/src/common/response/api_response.rs rename to morutine-api/src/common/response/api_response.rs diff --git a/backend/todo-api/src/common/response/mod.rs b/morutine-api/src/common/response/mod.rs similarity index 100% rename from backend/todo-api/src/common/response/mod.rs rename to morutine-api/src/common/response/mod.rs diff --git a/backend/todo-api/src/domain/mod.rs b/morutine-api/src/domain/mod.rs similarity index 100% rename from backend/todo-api/src/domain/mod.rs rename to morutine-api/src/domain/mod.rs diff --git a/backend/todo-api/src/domain/system/handlers.rs b/morutine-api/src/domain/system/handlers.rs similarity index 100% rename from backend/todo-api/src/domain/system/handlers.rs rename to morutine-api/src/domain/system/handlers.rs diff --git a/backend/todo-api/src/domain/system/mod.rs b/morutine-api/src/domain/system/mod.rs similarity index 100% rename from backend/todo-api/src/domain/system/mod.rs rename to morutine-api/src/domain/system/mod.rs diff --git a/backend/todo-api/src/domain/system/routes.rs b/morutine-api/src/domain/system/routes.rs similarity index 100% rename from backend/todo-api/src/domain/system/routes.rs rename to morutine-api/src/domain/system/routes.rs diff --git a/backend/todo-api/src/domain/todo/handlers.rs b/morutine-api/src/domain/todo/handlers.rs similarity index 100% rename from backend/todo-api/src/domain/todo/handlers.rs rename to morutine-api/src/domain/todo/handlers.rs diff --git a/backend/todo-api/src/domain/todo/mod.rs b/morutine-api/src/domain/todo/mod.rs similarity index 100% rename from backend/todo-api/src/domain/todo/mod.rs rename to morutine-api/src/domain/todo/mod.rs diff --git a/backend/todo-api/src/domain/todo/routes.rs b/morutine-api/src/domain/todo/routes.rs similarity index 100% rename from backend/todo-api/src/domain/todo/routes.rs rename to morutine-api/src/domain/todo/routes.rs diff --git a/backend/todo-api/src/domain/user/handlers.rs b/morutine-api/src/domain/user/handlers.rs similarity index 100% rename from backend/todo-api/src/domain/user/handlers.rs rename to morutine-api/src/domain/user/handlers.rs diff --git a/backend/todo-api/src/domain/user/mod.rs b/morutine-api/src/domain/user/mod.rs similarity index 100% rename from backend/todo-api/src/domain/user/mod.rs rename to morutine-api/src/domain/user/mod.rs diff --git a/backend/todo-api/src/domain/user/routes.rs b/morutine-api/src/domain/user/routes.rs similarity index 100% rename from backend/todo-api/src/domain/user/routes.rs rename to morutine-api/src/domain/user/routes.rs diff --git a/backend/todo-api/src/main.rs b/morutine-api/src/main.rs similarity index 100% rename from backend/todo-api/src/main.rs rename to morutine-api/src/main.rs diff --git a/backend/todo-api/src/routes.rs b/morutine-api/src/routes.rs similarity index 100% rename from backend/todo-api/src/routes.rs rename to morutine-api/src/routes.rs diff --git a/backend/todo-common/Cargo.toml b/morutine-common/Cargo.toml similarity index 100% rename from backend/todo-common/Cargo.toml rename to morutine-common/Cargo.toml diff --git a/backend/todo-common/src/constant/mod.rs b/morutine-common/src/constant/mod.rs similarity index 100% rename from backend/todo-common/src/constant/mod.rs rename to morutine-common/src/constant/mod.rs diff --git a/backend/todo-common/src/constant/status.rs b/morutine-common/src/constant/status.rs similarity index 100% rename from backend/todo-common/src/constant/status.rs rename to morutine-common/src/constant/status.rs diff --git a/backend/todo-common/src/error/common_error_code.rs b/morutine-common/src/error/common_error_code.rs similarity index 100% rename from backend/todo-common/src/error/common_error_code.rs rename to morutine-common/src/error/common_error_code.rs diff --git a/backend/todo-common/src/error/error_code.rs b/morutine-common/src/error/error_code.rs similarity index 100% rename from backend/todo-common/src/error/error_code.rs rename to morutine-common/src/error/error_code.rs diff --git a/backend/todo-common/src/error/error_reason.rs b/morutine-common/src/error/error_reason.rs similarity index 100% rename from backend/todo-common/src/error/error_reason.rs rename to morutine-common/src/error/error_reason.rs diff --git a/backend/todo-common/src/error/mod.rs b/morutine-common/src/error/mod.rs similarity index 100% rename from backend/todo-common/src/error/mod.rs rename to morutine-common/src/error/mod.rs diff --git a/backend/todo-common/src/lib.rs b/morutine-common/src/lib.rs similarity index 100% rename from backend/todo-common/src/lib.rs rename to morutine-common/src/lib.rs diff --git a/backend/todo-domain/Cargo.toml b/morutine-domain/Cargo.toml similarity index 84% rename from backend/todo-domain/Cargo.toml rename to morutine-domain/Cargo.toml index ca4d40f..5352848 100644 --- a/backend/todo-domain/Cargo.toml +++ b/morutine-domain/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" derive_builder = "0.20" chrono = { version = "0.4", features = ["clock"] } -common = { path = "../todo-common" } +common = { path = "../morutine-common" } anyhow = "1.0.100" async-trait = "0.1.89" thiserror = "2.0.17" diff --git a/backend/todo-domain/src/lib.rs b/morutine-domain/src/lib.rs similarity index 100% rename from backend/todo-domain/src/lib.rs rename to morutine-domain/src/lib.rs diff --git a/backend/todo-domain/src/todo/mod.rs b/morutine-domain/src/todo/mod.rs similarity index 100% rename from backend/todo-domain/src/todo/mod.rs rename to morutine-domain/src/todo/mod.rs diff --git a/backend/todo-domain/src/todo/models/mod.rs b/morutine-domain/src/todo/models/mod.rs similarity index 100% rename from backend/todo-domain/src/todo/models/mod.rs rename to morutine-domain/src/todo/models/mod.rs diff --git a/backend/todo-domain/src/todo/models/todo.rs b/morutine-domain/src/todo/models/todo.rs similarity index 100% rename from backend/todo-domain/src/todo/models/todo.rs rename to morutine-domain/src/todo/models/todo.rs diff --git a/backend/todo-domain/src/todo/models/todo_item.rs b/morutine-domain/src/todo/models/todo_item.rs similarity index 100% rename from backend/todo-domain/src/todo/models/todo_item.rs rename to morutine-domain/src/todo/models/todo_item.rs diff --git a/backend/todo-domain/src/todo/models/todo_item_status.rs b/morutine-domain/src/todo/models/todo_item_status.rs similarity index 100% rename from backend/todo-domain/src/todo/models/todo_item_status.rs rename to morutine-domain/src/todo/models/todo_item_status.rs diff --git a/backend/todo-domain/src/todo/repository/mod.rs b/morutine-domain/src/todo/repository/mod.rs similarity index 100% rename from backend/todo-domain/src/todo/repository/mod.rs rename to morutine-domain/src/todo/repository/mod.rs diff --git a/backend/todo-domain/src/todo/repository/todo_repository.rs b/morutine-domain/src/todo/repository/todo_repository.rs similarity index 100% rename from backend/todo-domain/src/todo/repository/todo_repository.rs rename to morutine-domain/src/todo/repository/todo_repository.rs diff --git a/backend/todo-domain/src/todo/todo_error_code.rs b/morutine-domain/src/todo/todo_error_code.rs similarity index 100% rename from backend/todo-domain/src/todo/todo_error_code.rs rename to morutine-domain/src/todo/todo_error_code.rs diff --git a/backend/todo-domain/src/user/mod.rs b/morutine-domain/src/user/mod.rs similarity index 100% rename from backend/todo-domain/src/user/mod.rs rename to morutine-domain/src/user/mod.rs diff --git a/backend/todo-domain/src/user/models/mod.rs b/morutine-domain/src/user/models/mod.rs similarity index 100% rename from backend/todo-domain/src/user/models/mod.rs rename to morutine-domain/src/user/models/mod.rs diff --git a/backend/todo-domain/src/user/models/oauth_provider.rs b/morutine-domain/src/user/models/oauth_provider.rs similarity index 100% rename from backend/todo-domain/src/user/models/oauth_provider.rs rename to morutine-domain/src/user/models/oauth_provider.rs diff --git a/backend/todo-domain/src/user/models/social_account.rs b/morutine-domain/src/user/models/social_account.rs similarity index 100% rename from backend/todo-domain/src/user/models/social_account.rs rename to morutine-domain/src/user/models/social_account.rs diff --git a/backend/todo-domain/src/user/models/user.rs b/morutine-domain/src/user/models/user.rs similarity index 100% rename from backend/todo-domain/src/user/models/user.rs rename to morutine-domain/src/user/models/user.rs diff --git a/backend/todo-domain/src/user/repository/mod.rs b/morutine-domain/src/user/repository/mod.rs similarity index 100% rename from backend/todo-domain/src/user/repository/mod.rs rename to morutine-domain/src/user/repository/mod.rs diff --git a/backend/todo-domain/src/user/repository/social_account_repository.rs b/morutine-domain/src/user/repository/social_account_repository.rs similarity index 100% rename from backend/todo-domain/src/user/repository/social_account_repository.rs rename to morutine-domain/src/user/repository/social_account_repository.rs diff --git a/backend/todo-domain/src/user/repository/user_repository.rs b/morutine-domain/src/user/repository/user_repository.rs similarity index 100% rename from backend/todo-domain/src/user/repository/user_repository.rs rename to morutine-domain/src/user/repository/user_repository.rs diff --git a/backend/todo-domain/src/user/user_error_code.rs b/morutine-domain/src/user/user_error_code.rs similarity index 100% rename from backend/todo-domain/src/user/user_error_code.rs rename to morutine-domain/src/user/user_error_code.rs diff --git a/backend/todo-infra/Cargo.toml b/morutine-infra/Cargo.toml similarity index 79% rename from backend/todo-infra/Cargo.toml rename to morutine-infra/Cargo.toml index e474cd4..878eb86 100644 --- a/backend/todo-infra/Cargo.toml +++ b/morutine-infra/Cargo.toml @@ -10,7 +10,7 @@ serde = { version = "1.0", features = ["derive"] } tracing = "0.1" anyhow = "1.0" -domain = { path = "../todo-domain" } -common = { path = "../todo-common" } +domain = { path = "../morutine-domain" } +common = { path = "../morutine-common" } chrono = "0.4.42" thiserror = "2.0.17" diff --git a/backend/todo-infra/src/database/database_error_code.rs b/morutine-infra/src/database/database_error_code.rs similarity index 100% rename from backend/todo-infra/src/database/database_error_code.rs rename to morutine-infra/src/database/database_error_code.rs diff --git a/backend/todo-infra/src/database/mod.rs b/morutine-infra/src/database/mod.rs similarity index 100% rename from backend/todo-infra/src/database/mod.rs rename to morutine-infra/src/database/mod.rs diff --git a/backend/todo-infra/src/database/postgres/mod.rs b/morutine-infra/src/database/postgres/mod.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/mod.rs rename to morutine-infra/src/database/postgres/mod.rs diff --git a/backend/todo-infra/src/database/postgres/todo/mod.rs b/morutine-infra/src/database/postgres/todo/mod.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/todo/mod.rs rename to morutine-infra/src/database/postgres/todo/mod.rs diff --git a/backend/todo-infra/src/database/postgres/todo/todo_entity.rs b/morutine-infra/src/database/postgres/todo/todo_entity.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/todo/todo_entity.rs rename to morutine-infra/src/database/postgres/todo/todo_entity.rs diff --git a/backend/todo-infra/src/database/postgres/todo/todo_item_entity.rs b/morutine-infra/src/database/postgres/todo/todo_item_entity.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/todo/todo_item_entity.rs rename to morutine-infra/src/database/postgres/todo/todo_item_entity.rs diff --git a/backend/todo-infra/src/database/postgres/todo/todo_mapper.rs b/morutine-infra/src/database/postgres/todo/todo_mapper.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/todo/todo_mapper.rs rename to morutine-infra/src/database/postgres/todo/todo_mapper.rs diff --git a/backend/todo-infra/src/database/postgres/todo/todo_repository_impl.rs b/morutine-infra/src/database/postgres/todo/todo_repository_impl.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/todo/todo_repository_impl.rs rename to morutine-infra/src/database/postgres/todo/todo_repository_impl.rs diff --git a/backend/todo-infra/src/database/postgres/user/mod.rs b/morutine-infra/src/database/postgres/user/mod.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/mod.rs rename to morutine-infra/src/database/postgres/user/mod.rs diff --git a/backend/todo-infra/src/database/postgres/user/social_account_entity.rs b/morutine-infra/src/database/postgres/user/social_account_entity.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/social_account_entity.rs rename to morutine-infra/src/database/postgres/user/social_account_entity.rs diff --git a/backend/todo-infra/src/database/postgres/user/social_account_mapper.rs b/morutine-infra/src/database/postgres/user/social_account_mapper.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/social_account_mapper.rs rename to morutine-infra/src/database/postgres/user/social_account_mapper.rs diff --git a/backend/todo-infra/src/database/postgres/user/social_account_repository_impl.rs b/morutine-infra/src/database/postgres/user/social_account_repository_impl.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/social_account_repository_impl.rs rename to morutine-infra/src/database/postgres/user/social_account_repository_impl.rs diff --git a/backend/todo-infra/src/database/postgres/user/user_entity.rs b/morutine-infra/src/database/postgres/user/user_entity.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/user_entity.rs rename to morutine-infra/src/database/postgres/user/user_entity.rs diff --git a/backend/todo-infra/src/database/postgres/user/user_mapper.rs b/morutine-infra/src/database/postgres/user/user_mapper.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/user_mapper.rs rename to morutine-infra/src/database/postgres/user/user_mapper.rs diff --git a/backend/todo-infra/src/database/postgres/user/user_repository_impl.rs b/morutine-infra/src/database/postgres/user/user_repository_impl.rs similarity index 100% rename from backend/todo-infra/src/database/postgres/user/user_repository_impl.rs rename to morutine-infra/src/database/postgres/user/user_repository_impl.rs diff --git a/backend/todo-infra/src/lib.rs b/morutine-infra/src/lib.rs similarity index 100% rename from backend/todo-infra/src/lib.rs rename to morutine-infra/src/lib.rs