{"id":37140704,"url":"https://github.com/d3ta-go/ms-account-restapi","last_synced_at":"2026-01-14T16:29:40.202Z","repository":{"id":56235907,"uuid":"312211906","full_name":"d3ta-go/ms-account-restapi","owner":"d3ta-go","description":"MicroService Interface/Presentation App: Account RestAPI","archived":false,"fork":false,"pushed_at":"2022-09-30T19:54:27.000Z","size":4016,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-21T01:40:55.189Z","etag":null,"topics":["ddd","ddd-architecture","interface-layer","microservice","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d3ta-go.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-12T08:21:57.000Z","updated_at":"2020-11-26T09:19:58.000Z","dependencies_parsed_at":"2022-08-15T15:10:37.279Z","dependency_job_id":null,"html_url":"https://github.com/d3ta-go/ms-account-restapi","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":"d3ta-go/project-template","purl":"pkg:github/d3ta-go/ms-account-restapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3ta-go%2Fms-account-restapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3ta-go%2Fms-account-restapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3ta-go%2Fms-account-restapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3ta-go%2Fms-account-restapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d3ta-go","download_url":"https://codeload.github.com/d3ta-go/ms-account-restapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3ta-go%2Fms-account-restapi/sbom","scorecard":{"id":315779,"data":{"date":"2025-08-11","repo":{"name":"github.com/d3ta-go/ms-account-restapi","commit":"b841b66dd33561241cb2017ea7bf80bedbbaedfa"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/18 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2020-0017 / GHSA-w73w-5m7g-f7qc","Warn: Project is vulnerable to: GO-2025-3372 / GHSA-6wxm-mpqj-6jpf","Warn: Project is vulnerable to: GO-2021-0051 / GHSA-j453-hm5x-c46w","Warn: Project is vulnerable to: GO-2022-1031 / GHSA-crxj-hrmp-4rwf"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T00:09:07.391Z","repository_id":56235907,"created_at":"2025-08-18T00:09:07.391Z","updated_at":"2025-08-18T00:09:07.391Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28425941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T15:24:48.085Z","status":"ssl_error","status_checked_at":"2026-01-14T15:23:41.940Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ddd","ddd-architecture","interface-layer","microservice","rest-api"],"created_at":"2026-01-14T16:29:39.633Z","updated_at":"2026-01-14T16:29:40.197Z","avatar_url":"https://github.com/d3ta-go.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ms-account-restapi ( [![Go Report Card](https://goreportcard.com/badge/github.com/d3ta-go/ms-account-restapi)](https://goreportcard.com/report/github.com/d3ta-go/ms-account-restapi) )\n\nMicroService Interface/Presentation App: Account RestAPI\n\nAs a part of `Simple Implementation of Modular DDD Technical Architecture Patterns in Go`.\n\n## Diagram v 0.2.2-Modular\n\n![DDD-Technical-Architecture-Patterns-Golang-0.2.2-MS Account RESTAPI](docs/img/DDD-Technical-Architecture-Patterns-Golang-0.2.2-MS_Account_RestAPI.png)\n\n## Components\n\nA. Interface Layer (MicroService)\n\n1. Microservice: Account REST API - using Echo Framework [ [d3ta-go/ms-account-restapi](https://github.com/d3ta-go/ms-account-restapi) ]\n\nB. DDD Modules:\n\n1. Account (Authentication) - using DDD Layered Architecture (Contract, GORM) [ [d3ta-go/ddd-mod-account](https://github.com/d3ta-go/ddd-mod-account) ]\n2. Email (Indirect) - using DDD Layered Architecture (Contract, GORM, SMTP) [ [d3ta-go/ddd-mod-email](https://github.com/d3ta-go/ddd-mod-email) ]\n\nC. Common System Libraries [ [d3ta-go/system](https://github.com/d3ta-go/system) ]:\n\n1. Configuration - using yaml\n2. Identity \u0026 Securities - using JWT, Casbin (RBAC)\n3. Initializer\n4. Email Sender - using SMTP\n5. Handler\n6. Migrations\n7. Utils\n\nD. Databases\n\n1. MySQL (tested)\n2. PostgreSQL (untested)\n3. SQLServer (untested)\n4. SQLite3 (untested)\n\nE. Persistent Caches\n\n1. Session/Token/JWT Cache (Redis, File, DB, etc) [tested: Redis]\n\nF. Messaging [to-do]\n\nG. Logs [to-do]\n\n### Development\n\n1. Clone\n\n```shell\n$ git clone https://github.com/d3ta-go/ms-account-restapi.git\n```\n\n2. Setup\n\n```\na. copy `conf/config-sample.yaml` to `conf/config.yaml`\nb. copy `conf/data/test-data-sample.yaml` to `conf/data/test-data.yaml`\nc. setup your dependencies/requirements (e.g: database, redis, smtp, etc.)\n```\n\n3. Runing on Development Stage\n\n```shell\n$ cd ms-account-restapi\n$ go run main.go db migrate\n$ go run main.go server restapi\n```\n\n4. Build\n\n```shell\n$ cd ms-account-restapi\n$ go build\n$ ./ms-account-restapi db migrate\n$ ./ms-account-restapi server restapi\n```\n\n5. Distribution (binary)\n\nBinary distribution (OS/arch):\n\n- darwin/amd64\n- linux/amd64\n- linux/386\n- windows/amd64\n- windows/386\n\n```shell\n$ cd ms-account-restapi\n$ sh build.dist.sh\n$ platform: [choose from OS/arch list, for example: darwin/amd64]\n$ cd dist/[OS-arch]/\n$ ./ms-account-restapi db migrate\n$ ./ms-account-restapi server restapi\n```\n\n**RESTAPI (console):**\n\n![Microservice: Account REST API](docs/img/account-sample-ms-rest-api.png)\n\n**Swagger UI (openapis docs):**\n\nURL: http://localhost:20202/openapis/docs/index.html\n\n![Openapis: Acount REST AIP](docs/img/account-sample-openapis-docs.png)\n\n**Related Domain/Repositories:**\n\n1. DDD Module: Account (Generic Subdomain) - [d3ta-go/ddd-mod-account](https://github.com/d3ta-go/ddd-mod-account)\n2. DDD Module (Indirect): Email (Generic Subdomain) - [d3ta-go/ddd-mod-email](https://github.com/d3ta-go/ddd-mod-email)\n3. Common System Libraries - [d3ta-go/system](https://github.com/d3ta-go/system)\n\n**Online Demo:\\***\n\n`We DISABLE SMTP SENDER, so any activation code for registration processes would be not delivered. Please use demo account!`\n\n\u003e URL: **https://ms-account-d3tago-demo.mhs.web.id/openapis/docs/index.html**\n\nLogin with Username \u0026 Password:\n\n\u003e Username: **demo.d3tago**\n\n\u003e Password: **demo**\n\nLogin with User's Client Apps. (login-app):\n\n\u003e Client Key: **35e4a167-55f5-44bb-bb2a-fa932eb72ab8**\n\n\u003e Secret Key: **MmE0OTZhMDg1NzVlN2E4ZTg2ZmUzNzNmZDJhYzE0ZDE0MzYzZGRlMjExYjYwZDQ2NzgxMWNmZTE1NjA5MmJmMw==**\n\n**References:**\n\n1. [Book] Domain-Driven Design: Tackling Complexity in the Heart of Software 1st Edition (Eric Evans, 2004)\n\n2. [Book] Patterns, Principles, and Practices of Domain-Driven Design (Scott Millett \u0026 Nick Tune, 2015)\n\n**Team \u0026 Maintainer:**\n\n1. Muhammad Hari (https://www.linkedin.com/in/muharihar/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3ta-go%2Fms-account-restapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd3ta-go%2Fms-account-restapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3ta-go%2Fms-account-restapi/lists"}