{"id":26153396,"url":"https://github.com/ngdangkietswe/swe-microservice","last_synced_at":"2025-03-11T07:57:13.260Z","repository":{"id":278998084,"uuid":"904493035","full_name":"ngdangkietswe/swe-microservice","owner":"ngdangkietswe","description":"SWE Microservice","archived":false,"fork":false,"pushed_at":"2025-02-23T03:32:43.000Z","size":710,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T04:23:48.280Z","etag":null,"topics":["microservice"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngdangkietswe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-17T02:09:06.000Z","updated_at":"2025-02-23T03:32:46.000Z","dependencies_parsed_at":"2025-02-23T04:23:50.091Z","dependency_job_id":"4d22f034-832c-448a-96e0-853321a1b161","html_url":"https://github.com/ngdangkietswe/swe-microservice","commit_stats":null,"previous_names":["ngdangkietswe/swe-microservice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngdangkietswe%2Fswe-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngdangkietswe%2Fswe-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngdangkietswe%2Fswe-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngdangkietswe%2Fswe-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngdangkietswe","download_url":"https://codeload.github.com/ngdangkietswe/swe-microservice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242995918,"owners_count":20218828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["microservice"],"created_at":"2025-03-11T07:57:11.692Z","updated_at":"2025-03-11T07:57:13.238Z","avatar_url":"https://github.com/ngdangkietswe.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# SWE-MICROSERVICE\n\nThis microservice is developed using gRPC with Go and Java. The gateway is built utilizing gRPC Gateway, and the\ndatabase employed is PostgreSQL.\n\nServices communicate with each other via gRPC and Kafka. File storage is managed using MinIO.\n\nDebezium is used to capture changes in the database and publish them to Kafka. The data is then consumed by the services\nto update their internal data.\n\nFor continuous integration and continuous deployment (CI/CD), GitHub Actions are used to build and push Docker images to\nthe Docker registry. The deployment process is handled with Kubernetes and ArgoCD for streamlined continuous deployment.\n\n## Tech stack\n\n- [x] [Go](https://golang.org/)\n- [x] [Java](https://www.java.com/en/)\n- [x] [gRPC Gateway](https://grpc-ecosystem.github.io/grpc-gateway/)\n- [x] [Protocol Buffers](https://developers.google.com/protocol-buffers)\n- [x] [PostgreSQL](https://www.postgresql.org/)\n- [x] [Kafka](https://kafka.apache.org/)\n- [x] [Debezium](https://debezium.io/)\n- [x] [MinIO](https://min.io/)\n- [x] [Docker](https://www.docker.com/)\n- [x] [Kubernetes](https://kubernetes.io/)\n- [x] [ArgoCD](https://argoproj.github.io/argo-cd/)\n- [x] [GitHub Actions](https://docs.github.com/en/actions)\n\n## Architecture\n\n![Architecture](assets/architecture.png)\n\n## Common shared libraries\n\n- [x] [swe-go-common-shared](https://github.com/ngdangkietswe/swe-go-common-shared)\n- [x] [swe-java-common-shared](https://github.com/ngdangkietswe/swe-java-common-shared)\n\n## Protobuf shared\n\n- [x] [swe-protobuf-shared](https://github.com/ngdangkietswe/swe-protobuf-shared)\n\n## Migration database\n\n- [x] [swe-migration](https://github.com/ngdangkietswe/swe-migration)\n\n## Services\n\n- [x] [swe-task-service](https://github.com/ngdangkietswe/swe-task-service)\n- [x] [swe-time-tracking-service](https://github.com/ngdangkietswe/swe-time-tracking-service)\n- [x] [swe-auth-service](https://github.com/ngdangkietswe/swe-auth-service)\n- [x] [swe-storage-service](https://github.com/ngdangkietswe/swe-storage-service)\n- [x] [swe-notification-service](https://github.com/ngdangkietswe/swe-notification-service)\n- [x] [swe-integration-service](https://github.com/ngdangkietswe/swe-integration-service)\n\n## Gateway\n\n- [x] [swe-grpc-gateway](https://github.com/ngdangkietswe/swe-grpc-gateway)\n\n## Infrastructure\n\n- [x] [swe-debezium](https://github.com/ngdangkietswe/swe-debezium)\n- [x] [swe-infrastructure](https://github.com/ngdangkietswe/swe-infrastructure)\n- [x] [swe-argocd](https://github.com/ngdangkietswe/swe-argocd)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngdangkietswe%2Fswe-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngdangkietswe%2Fswe-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngdangkietswe%2Fswe-microservice/lists"}