{"id":23960380,"url":"https://github.com/matimortari/go-ecommerce-backend","last_synced_at":"2025-09-12T18:31:56.595Z","repository":{"id":271151468,"uuid":"912493527","full_name":"matimortari/go-ecommerce-backend","owner":"matimortari","description":"Backend service for an e-commerce platform using Go and PostgreSQL. It provides APIs for user authentication, product management, cart functionality, and order processing.","archived":false,"fork":false,"pushed_at":"2025-01-05T21:17:21.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-05T22:18:48.578Z","etag":null,"topics":["backend","backend-api","backend-service","backend-testing","e-commerce","ecommerce","go","golang","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Go","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/matimortari.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":"2025-01-05T18:14:13.000Z","updated_at":"2025-01-05T21:17:25.000Z","dependencies_parsed_at":"2025-01-05T22:18:50.951Z","dependency_job_id":"02906df4-9a28-45b8-80ef-093cc635654e","html_url":"https://github.com/matimortari/go-ecommerce-backend","commit_stats":null,"previous_names":["matimortari/go-ecommerce-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matimortari%2Fgo-ecommerce-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matimortari%2Fgo-ecommerce-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matimortari%2Fgo-ecommerce-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matimortari%2Fgo-ecommerce-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matimortari","download_url":"https://codeload.github.com/matimortari/go-ecommerce-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232774323,"owners_count":18574637,"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":["backend","backend-api","backend-service","backend-testing","e-commerce","ecommerce","go","golang","postgresql"],"created_at":"2025-01-06T19:27:45.896Z","updated_at":"2025-01-06T19:27:46.408Z","avatar_url":"https://github.com/matimortari.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go E-Commerce Backend 🛒⚡\n\nBackend service for an e-commerce platform using Go and PostgreSQL. It provides APIs for user authentication, product management, cart functionality, and order processing.\n\n## 📦 Key Features\n\n- **Modular Architecture**: Clean and organized structure for better scalability.\n- **Authentication**: Secure user authentication with JWT and password hashing.\n- **Products**: Get, create and update products.\n- **Cart**: Get and create orders with multiple products and secure validation.\n- **Database Migrations**: Easy setup and migration of database schemas.\n- **Automated Testing**: Easy-to-run tests for ensuring code reliability, using Go's built-in testing framework.\n- **Makefile Automation**: Simplified commands for building, running, testing, and managing migrations.\n\n## 📂 Directory Structure\n\n```bash\n  bin/          - Compiled binaries\n  cmd/          - Main application entry points\n  config/       - Configuration files\n  services/     - Business logic and API handlers\n  types/        - Shared data types\n  utils/        - Utility functions\n```\n\n## 🏁 Getting Started\n\n- Clone the repository:\n\n  ```bash\n  git clone https://github.com/matimortari/go-backend .\n  ```\n\n- Install dependencies:\n\n  ```bash\n  go mod tidy\n  ```\n\n- Create a `.env` file in the project root with the following environment variables (modify as needed):\n\n  ```bash\n   # Server configuration\n  PUBLIC_HOST=http://localhost/\n  PORT=8080\n\n   # PostgreSQL database configuration\n  DB_USER=postgres\n  DB_PASSWORD=postgres\n  DB_HOST=localhost\n  DB_PORT=5432\n  DB_NAME=ecom\n  ```\n\n- Use the `Makefile` to automate common tasks.\n\n## ⚙️🧪 Makefile Commands\n\n- Build the application to a binary at `bin/ecom`:\n\n  ```bash\n  make build\n  ```\n\n- Run the compiled binary:\n\n  ```bash\n  make run\n  ```\n\n- Run tests:\n\n  ```bash\n  make test\n  ```\n\n- Create a new migration file at `cmd/migrate/migrations`:\n\n  ```bash\n  make migration-create name=\u003cmigration_name\u003e\n  ```\n\n- Run migrations \"up\" to apply all pending migrations:\n\n  ```bash\n  make migrate-up\n  ```\n\n- Run migrations \"down\" to roll back the last applied migration:\n\n  ```bash\n  make migrate-down\n  ```\n\n- Check migration status and version:\n  ```bash\n  make migrate-status\n  ```\n\n## 📬 Contact\n\nFeel free to reach out to discuss collaboration opportunities or to say hello!\n\n- [**My Email**](mailto:matheus.felipe.19rt@gmail.com)\n- [**My LinkedIn Profile**](https://www.linkedin.com/in/matheus-mortari-19rt)\n- [**My GitHub Profile**](https://github.com/matimortari)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatimortari%2Fgo-ecommerce-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatimortari%2Fgo-ecommerce-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatimortari%2Fgo-ecommerce-backend/lists"}