{"id":15065980,"url":"https://github.com/shahincsejnu/gocom","last_synced_at":"2025-10-04T16:38:31.799Z","repository":{"id":65695925,"uuid":"584150687","full_name":"shahincsejnu/gocom","owner":"shahincsejnu","description":":rocket: **gocom** is a monorepo which have Golang based microservices following clean architecture for a ecommerce site","archived":false,"fork":false,"pushed_at":"2025-06-28T12:27:31.000Z","size":123,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T21:43:10.095Z","etag":null,"topics":["docker-compose","ecommerce","golang","kubernetes","microservices","monorepo","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shahincsejnu.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-01T15:40:10.000Z","updated_at":"2025-06-28T12:27:34.000Z","dependencies_parsed_at":"2024-06-20T12:03:47.630Z","dependency_job_id":null,"html_url":"https://github.com/shahincsejnu/gocom","commit_stats":{"total_commits":60,"total_committers":1,"mean_commits":60.0,"dds":0.0,"last_synced_commit":"4df4c87647d9bef6673a086ecb2e0579e8ee3b80"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shahincsejnu/gocom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahincsejnu%2Fgocom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahincsejnu%2Fgocom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahincsejnu%2Fgocom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahincsejnu%2Fgocom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shahincsejnu","download_url":"https://codeload.github.com/shahincsejnu/gocom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahincsejnu%2Fgocom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278343082,"owners_count":25971399,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker-compose","ecommerce","golang","kubernetes","microservices","monorepo","postgresql"],"created_at":"2024-09-25T00:58:53.198Z","updated_at":"2025-10-04T16:38:31.762Z","avatar_url":"https://github.com/shahincsejnu.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gocom\nIn this `gocom` monorepo we'll demonstrate Golang based microservices following clean architecture for a ecommerce site.\n\n## This monorepo's structure\n* [auth](./auth/README.md) : Auth service which have all the endpoints related to authn/authz.\n* [ecom](./ecom/README.md) : ecom service which have all the endpoints to do CRUD operations for a ecommerce site.\n* [schemas](./schemas/README.md) :\n    - DB migrations\n    - DB schemas\n    - SQLC queries\n    - code generations\n\n## Tech Stack \u0026 Tools\n- Golang\n- Gin Framework\n- Ginkgo\n- Gomega\n- Golang Mockgen\n- PostgreSQL\n- SQLC\n- Golang Migrate\n- Docker\n- Kubernetes\n- GH Actions\n- ArgoCD\n- OpenAPI Schema\n\n## How to run this project locally?\n- clone this repo \u0026 go to the root directory (`cd ~/\u003c\u003e/gocom`)\n- `docker compose up`:\n    - to run all the services according to `docker-compose.yaml` file use this command\n    - if you change anything in the proeject and wanna run with that then use `docker compose up --build`\n    - you can run any specific service by `docker compose up \u003cservice_name_from_docker_compose_file\u003e\n- [optional] you can connect to the DB via any(Like: `table plus`) GUI providing the connection info given in the `docker-compose.yaml` file's `db` service:\n    ```\n        POSTGRES_USER: gocom\n        POSTGRES_PASSWORD: gocom123\n        POSTGRES_DB: gocomdb\n    ```\n- open another terminal to apply the migrations files into DB\n- `cd schemas`\n- `export POSTGRESQL_URL='postgresql://gocom:gocom123@localhost:5432/gocomdb?sslmode=disable'` \n- `migrate -database $POSTGRESQL_URL -path db/migrations up` : apply the migrations files\n- [🎉] now the projects setup is successful, for checking the API endpoints of each service pls have a look into each service's README.md file and test those endpoints from `postman` or etc.\n\n## How to deploy `gocom` to a K8s cluster?\n- follow the details from [here](./schemas/manifests/)\n\n## Auth Service's RESTful API Endpoints\n- check [here](./auth/openapi.yaml) for OpenAPI schema of auth service's api endpoints\n- also look into the [examples](./auth/README.md)\n\n## Ecom Service's RESTful API Endpoints\n- check [here](./ecom/openapi.yaml) for OpenAPI schema of ecom service's api endpoints\n- also look into the [examples](./ecom/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahincsejnu%2Fgocom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshahincsejnu%2Fgocom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahincsejnu%2Fgocom/lists"}