{"repo":"quangdangfit/goshop","free":true,"listed":false,"github":"https://github.com/quangdangfit/goshop","clone":"git clone https://github.com/quangdangfit/goshop.git","description":"E-Commerce system via Golang and ReactJS","language":"Go","stars":397,"topics":["golang","postgresql","gin","ecommerce","gprc","redis","restful","swagger","ddd","domain-driven-design"],"license":"MIT","category":"databases-storage","readme_excerpt":"GoShop A production-ready e-commerce application built with Go (REST + gRPC backend) and React (web frontend). Architecture The application runs two servers concurrently (backend) plus a React web frontend: - HTTP (REST) — Gin framework, port 8888 - gRPC — port 8889 , with JWT auth interceptor Each domain ( user , product , order , payment , notification ) follows a ports-and-adapters layout: Domain HTTP gRPC -------- ------ ------ user ✓ ✓ product ✓ ✓ order ✓ ✓ payment ✓ — notification ✓ — Tech Stack Backend Concern Library --------- --------- HTTP framework Gin v1.12 gRPC grpc-go v1.79 ORM GORM v1.31 + PostgreSQL Cache go-redis v9 Auth JWT (golang-jwt v5) Validation gocommon/validation API Docs Swagger Testing testify v1.11 + mockery Proto codegen buf + protobuf v1.36 Frontend Concern Library --------- --------- Framework React 18 + TypeScript Build tool Vite Styling Tailwind CSS Routing React Router v6 Data fetching TanStack Query Forms React Hook Form + Zod HTTP client Axios Prerequisites - Go 1.26+ - Node.js 18+ - PostgreSQL - Redis Docker Compose for local dependencies: docker-compose-template Getting Started 1. Clone and configure Edit config.yaml (lives at the repo root and is loaded from the working directory; override with CONFIG FILE=/path/to/config.yaml ): 2. Apply database migrations The app no longer runs AutoMigrate — schema lives in versioned SQL files under migrations/ and is applied with golang-migrate. See migrations/README.md for conventions and the produc","default_branch":null,"files":null,"tree":[],"storefront":"/r/quangdangfit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/quangdangfit/goshop/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}