{"id":17845072,"url":"https://github.com/mukulmantosh/go-ecommerce-app","last_synced_at":"2025-07-08T19:36:26.827Z","repository":{"id":204098933,"uuid":"675276730","full_name":"mukulmantosh/go-ecommerce-app","owner":"mukulmantosh","description":"Ecommerce Application built using Go, Echo, GORM and Kubernetes","archived":false,"fork":false,"pushed_at":"2024-01-10T09:03:57.000Z","size":18086,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-24T07:49:04.384Z","etag":null,"topics":["echo-framework","go","golang","gorm","gorm-orm","kubernetes"],"latest_commit_sha":null,"homepage":"https://medium.com/google-cloud/deploying-go-api-on-gke-google-cloud-9cec676bb3a6","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/mukulmantosh.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}},"created_at":"2023-08-06T11:41:36.000Z","updated_at":"2024-11-09T18:38:33.000Z","dependencies_parsed_at":"2024-06-21T19:15:12.039Z","dependency_job_id":"a045a528-d3a3-47a0-beed-5900208ebbde","html_url":"https://github.com/mukulmantosh/go-ecommerce-app","commit_stats":null,"previous_names":["mukulmantosh/go-ecommerce-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukulmantosh%2Fgo-ecommerce-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukulmantosh%2Fgo-ecommerce-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukulmantosh%2Fgo-ecommerce-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mukulmantosh%2Fgo-ecommerce-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mukulmantosh","download_url":"https://codeload.github.com/mukulmantosh/go-ecommerce-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232212957,"owners_count":18489484,"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":["echo-framework","go","golang","gorm","gorm-orm","kubernetes"],"created_at":"2024-10-27T21:34:26.231Z","updated_at":"2025-01-02T14:41:19.076Z","avatar_url":"https://github.com/mukulmantosh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ecommerce App using Echo\n\n\n\n![Workflow](https://github.com/mukulmantosh/go-ecommerce-app/actions/workflows/badge.yml/badge.svg)\n![Coverage](https://img.shields.io/badge/Coverage-60.6%25-yellow)\n\nWe intend to develop an e-commerce application with a REST\narchitecture using the Echo framework. Echo is a Go web framework\nknown for its exceptional performance, extensibility, and\nminimalistic design.\n\n![terminal](./misc/background.png)\n\n\n\n\n### Prerequisites\n\nBefore starting up this project, make sure you have the necessary dependencies installed in your machine.\n\n### Software Installation\n\n- [x] [Go](https://go.dev/) - Go is an open source programming language that makes it simple to build secure, scalable systems.\n\n- [x] [Docker](https://www.docker.com/) - Docker helps developers bring their ideas to life by conquering the complexity of app development.\n\n- [x] [PostgreSQL](https://www.postgresql.org/) - The World's Most Advanced Open Source Relational Database\n\n- [x] [golangci-lint](https://golangci-lint.run/) - is a fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config, etc.  \n\n\nFor running Postgres locally using Docker, run the following command: \n\n```bash\ndocker run --name ecommerce-local-db -p 5432:5432 -e POSTGRES_PASSWORD=******** -d postgres\n```\n\nExecute in Postgres DB Shell\n\n```sql\ncreate database ecommerce;\n```\n### Database Schema\n![db_schema](./misc/ecommerce-db-design.png)\n\n\n### Environment Variables\n\nBefore launching the application, be certain to configure the necessary environment variables.\n\n```\n- JWT_SECRET\n- DB_HOST\n- DB_USERNAME\n- DB_PASSWORD\n- DB_NAME\n- DB_PORT\n```\nUsing **Windows**? Run the following command\n\n![windows-env](./misc/windows-env.png)\n\n\n### Application Startup\n\n#### Running App\n\n```bash\nmake run\n```\n![run-app](./misc/run-app.png)\n\n#### Building App\n\n```bash\nmake build\n```\n![build-app](./misc/build-app.png)\n\n\n#### Executing Tests\n\n```bash\nmake test\n```\n![test-app](./misc/gotest.gif)\n\n\n## REST Examples\n\nYou can find the Postman Collection/HTTP Client for GoLand under `postman_httpclient` directory.\n\n![postman-app](./misc/postman.png)\n\n## Docker\n\nYou have the option to retrieve the image from [DockerHub](https://hub.docker.com/r/mukulmantosh/go-ecommerce-echo).\n\n\n### Running Application in Local Kubernetes\n\nProceed with the instructions to launch your\napplication within a local Kubernetes cluster, \nsuch as Docker Desktop or Minikube.\n\nBefore proceeding, make sure to update the ConfigMap.\n\n![k8s-terminal](./misc/k8s.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmukulmantosh%2Fgo-ecommerce-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmukulmantosh%2Fgo-ecommerce-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmukulmantosh%2Fgo-ecommerce-app/lists"}