teuku afwan

E-Commerce Backend Go

Golang

E-Commerce-Go adalah aplikasi backend untuk platform e-commerce yang dibangun menggunakan bahasa pemrograman Golang. Aplikasi ini mencakup fitur seperti autentikasi pengguna, manajemen toko (up to multimerchant), manajemen produk & pelanggan, pemrosesan pesanan, serta integrasi beberapa sumber eksternal seperti cloudinary, raja ongkir, juga midtrans payment gateway. Proyek ini dibuat sebagai pembelajaran dan mudah dikembangkan lebih lanjut. πŸš€ Tech Stack 🏒 Postgree 🎨 Backend: Golang - Gin Framework - GORM - Cloudinary File System - Validator - JWT Auth (Access & Refresh Token) & Role Based Auth - Middleware Token Validation - Filtering and Pagination - Raja Ongkir Integration (Shipping Cost) - Midtrans Payment Gateway πŸ“ Structur Project . β”œβ”€β”€ external/ # external api β”œβ”€β”€ internal/ β”‚ └── controllers/ β”‚ └── dto/ # data response β”‚ └── helpers/ # reusable function β”‚ └── models/ # modeling β”‚ └── repositories/ # bisnis logic β”‚ └── request/ # request logic β”œβ”€β”€ middleware/ # # JWT Auth, logging β”œβ”€β”€ pkg/ # reusable package aplikasi β”œβ”€β”€ routes/ β”‚ └── api.go # API Routes β”œβ”€β”€ scraping/ # Modul scraping data eksternal (raja ongkir) β”‚ └── main.go β”œβ”€β”€ seeders/ # Data awal (seeding) β”‚ └── main.go β”œβ”€β”€ main.go # Entry point aplikasi β”œβ”€β”€ .env.example # Contoh file konfigurasi β”œβ”€β”€ .gitignore β”œβ”€β”€ README.md 🧩 Relasi Utama . User └── Personal Acces Token (sudah ada set time revoke) └── Pelanggan (Roles Pelanggan) Toko -> Untuk mengatur alamat toko, dan aturan lainnya seperti pajak Pelanggan └── AlamatPengiriman (banyak, satu is_default = true) Kategori Produk β”œβ”€β”€ id_parent (self relationship) └── DataProduk (many to many) Produk β”œβ”€β”€ GaleriGambar (many) β”œβ”€β”€ Variant (many, bisa berupa kombinasi ukuran/warna) └── DataKategoriProduk (many to many) Keranjang └── Item: berdasarkan ProdukVariant + kuantitas Transaksi └── ItemTransaksi: copy dari item keranjang terpilih └── Status: Pending, Cancelled, Expired, Paid, Complete

Galeri Project

  • Gallery 0

Other Related Project