Go Artisan

Go backend untuk developer JavaScript & PHP

Belajar Go backend tanpa mulai dari nol

Jembatan dari React/JavaScript dan Laravel/PHP ke cara kerja Go yang lebih lugas — sambil membangun satu backend online shop skincare dari HTTP API, PostgreSQL, dan arsitektur modular sampai deploy ke AWS.

9
roadmap
73
chapter
~86j
materi
1
proyek nyata

Progress belajar

Tersimpan lokal di browser ini

0% 0/73 modul selesai

Belum ada progres tersimpan. Mulai dari modul pertama atau masuk ke topik yang paling relevan untuk kerja backend-mu sekarang.

Kurikulum

73 modul tersedia
Roadmap 1 Go Programming Foundations 12 modul
  1. Pengenalan Go dan Pola Pikir Backend Developer Mulai di sini Kenali alasan Go cocok untuk backend online shop skincare, dari typing, kompilasi, concurrency, sampai posisi API dan worker. ~60 menit 11 bagian
  2. Setup Go dan Developer Workflow Pasang Go 1.26, pahami Go Modules dan toolchain, lalu kuasai ritual harian dari go mod init sampai go build untuk backend skincare. ~65 menit 12 bagian
  3. Variabel, Konstanta, Tipe, dan Zero Value Pahami cara Go mendeklarasikan data, memilih tipe, menolak coercion diam-diam, memakai zero value secara sadar, dan membentuk model produk skincare yang aman lewat custom type. ~70 menit 10 bagian
  4. Control Flow di Go Kuasai if, switch, for, range, early return, dan guard clause Go lewat skenario stok, diskon, dan status produk online shop skincare, dengan gaya yang datar dan mudah dites. ~70 menit 11 bagian
  5. Fungsi dan Pola Error Return Kuasai desain fungsi Go, multiple return values, dan error sebagai nilai lewat errors.New, fmt.Errorf %w, errors.Is, dan errors.As, dirangkai dalam CalculateCartTotal, ValidateStock, dan CreateOrder untuk backend online shop skincare. ~70 menit 11 bagian
  6. Struct dan Method Modelkan entitas backend online shop skincare dengan struct, method, pointer vs value receiver, embedded struct, JSON tag (omitempty vs omitzero), dan pemisahan DTO dari domain model untuk User, Product, CartItem, Order, Payment, dan Inventory. ~70 menit 11 bagian
  7. Pointer dan Dasar Memori Memahami pointer Go secukupnya untuk mutasi, nilai opsional, dan hasil repository di backend online shop skincare: pass by value, operator & dan *, pointer receiver, nil, escape analysis singkat, hingga jebakan klasik dari JS dan PHP. ~65 menit 12 bagian
  8. Slice, Map, dan Koleksi Kuasai koleksi data Go untuk backend online shop skincare: array vs slice, slice header dan backing array, append serta gotcha aliasing, copy dan three-index slicing, range, map dengan comma-ok lookup, grouping per kategori, plus stdlib slices dan maps modern (slices.Sort, slices.Contains, maps.Keys, clear, min/max). ~70 menit 13 bagian
  9. Interface dan Desain Dependensi Kuasai interface Go sebagai kontrak perilaku kecil yang dipenuhi secara implicit, lalu pakai untuk memisahkan service layer dari database lewat ProductRepository, dependency injection manual, fake repository untuk test, plus jebakan typed-nil dan type assertion. ~70 menit 12 bagian
  10. Package dan Organisasi Proyek Pecah backend online shop skincare menjadi package yang rapi: package main dan entry point di cmd, batas visibilitas exported vs unexported, import path dari module path, folder internal yang dipaksa compiler, dan teknik memutus circular dependency lewat interface dan leaf package, sampai siap menjadi modular monolith. ~68 menit 10 bagian
  11. Context dan Lifecycle Request Kuasai context.Context untuk timeout, cancellation, dan propagasi request-scoped dari HTTP handler ke service, repository, dan query pgx, lengkap dengan derived context, select ctx.Done(), WithCancelCause, dan jebakan umum dari AbortController serta request lifecycle Laravel. ~65 menit 12 bagian
  12. Concurrency Dasar Pahami goroutine, channel, select, sync.WaitGroup (termasuk wg.Go Go 1.25), sync.Mutex, dan race condition di level backend praktis, lalu rakit worker pool dan background job aman untuk online shop skincare dengan cancellation lewat context. ~70 menit 12 bagian
Roadmap 2 Go Web API 8 modul
  1. Fundamental HTTP Pahami cara request, response, method, status code, header, parameter, dan JSON API bekerja sebelum masuk ke net/http dan chi. ~65 menit 12 bagian
  2. Membangun HTTP Handler dengan net/http Belajar membuat HTTP handler Go murni dengan net/http sebelum memakai router chi. ~60 menit 11 bagian
  3. Routing dengan chi Membangun routing REST yang rapi dengan chi: router, path parameter, grouping /v1, mount subrouter domain, dan middleware chain untuk API skincare. ~60 menit 11 bagian
  4. Desain Request dan Response API Mendesain envelope JSON yang konsisten: request DTO, response DTO, pagination, dan error per field untuk frontend dan mobile. ~65 menit 14 bagian
  5. Middleware dengan chi Rangkai middleware chi untuk logging slog, recovery, request id, CORS, timeout, dan auth dengan urutan yang benar. ~65 menit 14 bagian
  6. Validasi Input API Validasi request HTTP secara eksplisit, per field, dan konsisten sebelum data masuk ke business logic online shop skincare. ~60 menit 14 bagian
  7. Alur Autentikasi: Session, JWT, dan Role Bangun alur autentikasi REST API: session vs token, struktur JWT, access dan refresh token, middleware verifikasi, current user di context, dan role-based access dengan chi. ~75 menit 13 bagian
  8. Desain REST API untuk Online Shop Skincare Capstone Roadmap 2: rakit handler, router chi, middleware, validasi, dan auth menjadi satu permukaan REST API e-commerce yang utuh. ~75 menit 14 bagian
Roadmap 3 PostgreSQL dan pgx 10 modul
  1. Fundamental Basis Data Relasional Pahami tabel, key, constraint, relasi, index, normalisasi, dan alasan PostgreSQL menjadi fondasi data untuk online shop skincare. ~80 menit 14 bagian
  2. SQL Dasar untuk Backend Developer Belajar query SQL yang langsung dipakai untuk API produk, cart, dan order di PostgreSQL. ~80 menit 14 bagian
  3. Pemodelan Data Online Shop Skincare Rancang skema PostgreSQL lengkap untuk produk, cart, order, pembayaran, pengiriman, review, dan promosi online shop skincare. ~80 menit 13 bagian
  4. Database Migration yang Aman Kelola perubahan skema PostgreSQL dengan migration yang versioned, aman, dan siap production memakai golang-migrate. ~70 menit 12 bagian
  5. Koneksi Go ke PostgreSQL dengan pgx Setup pgxpool yang efisien, aman, dan siap dipakai repository untuk API online shop skincare. ~80 menit 13 bagian
  6. Membaca Data dari PostgreSQL dengan pgx Belajar membaca satu atau banyak baris PostgreSQL dengan pgxpool, lalu memetakan hasil SELECT ke struct Go secara eksplisit, dari detail produk sampai order bersarang. ~80 menit 14 bagian
  7. Menulis Data ke PostgreSQL dengan pgx Belajar menulis data ke PostgreSQL dari Go memakai pgx: INSERT RETURNING, UPDATE, soft delete, upsert ON CONFLICT, partial update, optimistic locking, sampai bulk insert. ~80 menit 14 bagian
  8. Transaksi Database untuk Operasi Kritis Pelajari cara memakai transaksi pgx untuk menjaga checkout, stok, order, dan payment tetap konsisten. ~80 menit 15 bagian
  9. Indexing dan Performa Query Pelajari cara membuat query produk dan order history tetap cepat dengan index PostgreSQL yang tepat. ~80 menit 12 bagian
  10. Repository Pattern dengan pgx Capstone Roadmap 3: rakit koneksi, query, write, transaksi, dan index menjadi satu lapis akses data PostgreSQL yang bersih, eksplisit, dan mudah diuji. ~80 menit 15 bagian
Roadmap 4 Clean Backend Architecture 8 modul
  1. Layered Architecture Pisahkan handler, service, repository, domain model, dan DTO, lalu sandarkan semuanya pada infrastructure layer (config, logger, db pool, http server) agar backend skincare jelas tanggung jawabnya, testable, dan siap berkembang. ~70 menit 10 bagian
  2. Modular Monolith: Organisasi Folder by Domain Atur backend skincare sebagai modular monolith by domain agar boundary jelas, testable, dan siap tumbuh tanpa buru-buru microservices. ~70 menit 13 bagian
  3. Manajemen Konfigurasi Kelola DB URL, JWT, AWS, dan payment gateway dengan aman: baca env ke Config struct, validasi fail-fast saat start, dan jalankan satu binary di local, staging, serta production. ~65 menit 12 bagian
  4. Error Handling Strategy yang Konsisten Bangun strategi error terstruktur agar domain error (not found, validation, unauthorized, conflict, internal) bisa dipetakan menjadi HTTP response yang aman dan konsisten tanpa membocorkan detail internal. ~70 menit 14 bagian
  5. Logging Strategy yang Observable Bangun structured logging dengan log/slog: level disiplin, request ID dan user ID di setiap baris, error context yang cukup, dan redaksi data sensitif agar checkout skincare bisa di-debug cepat di production. ~70 menit 12 bagian
  6. Validasi Input vs Business Rules Pisahkan validasi bentuk request di handler dari aturan bisnis di service agar checkout, diskon, dan transisi order skincare tidak pernah masuk keadaan invalid. ~70 menit 12 bagian
  7. Idempotency Bangun checkout dan webhook payment yang aman diulang tanpa double order, double payment, atau double pengurangan stok, lewat idempotency key, request hash, transaksi, dan UNIQUE constraint PostgreSQL. ~65 menit 11 bagian
  8. Background Worker Architecture Pisahkan pekerjaan lambat dari HTTP request dengan job queue, worker process, retry berjenjang, dead-letter queue, plus job email konfirmasi dan job payment processing untuk online shop skincare. ~70 menit 14 bagian
Roadmap 5 Online Shop Skincare Domain Mastery 10 modul
  1. Domain Katalog Produk Skincare Model katalog skincare yang nyata: Product, Brand, Category, Variant, SKU, gambar, tipe kulit, concern, ingredient, instruksi pakai, dan nomor BPOM, dengan harga PriceRupiah int64 dan boundary domain yang bersih. ~70 menit 12 bagian
  2. Product Search and Filtering Bangun API discovery produk skincare: search nama, filter brand, kategori, tipe kulit, concern, dan rentang harga, lalu sort dan pagination dengan SQL dinamis yang aman dan ber-index. ~70 menit 11 bagian
  3. Domain Cart: Mengelola Niat Beli Rancang cart sebagai state niat beli sementara yang andal: add item dengan upsert, update quantity sebagai set, remove item, validasi produk dan stok, serta subtotal real-time yang dihitung dari harga terkini, bukan harga lama. ~70 menit 11 bagian
  4. Checkout Domain Ubah cart jadi order dengan aman: validasi checkout, snapshot harga, alamat, diskon, dan ongkir, generate nomor order, lalu reservasi stok dalam satu transaksi atomic. ~70 menit 11 bagian
  5. Inventory Domain: Cegah Overselling Rancang domain inventory yang konsisten saat checkout dan payment bersamaan: available vs reserved vs sold stock, movement log, reservasi dengan expiry, safety stock, dan row locking dengan SELECT FOR UPDATE di PostgreSQL. ~70 menit 13 bagian
  6. Domain Payment Bangun alur payment gateway yang aman: payment intent, verifikasi signature webhook, idempotency lewat event log, satu transaksi untuk payment-order-inventory, plus rekonsiliasi harian. ~70 menit 10 bagian
  7. Order Lifecycle Desain state machine order yang menjaga status tetap valid, atomik, dan tercatat, lalu pakai ulang lewat satu service yang dipanggil admin, webhook payment, dan worker fulfillment. ~70 menit 12 bagian
  8. Domain Promosi dan Voucher Rancang voucher fixed dan percentage dengan minimum purchase, usage limit, per-user limit, expiry, scope produk/kategori, snapshot diskon, dan redemption yang aman dari race condition. ~70 menit 11 bagian
  9. Review dan Rating Domain Bangun review produk yang tepercaya: verified purchase, moderasi pending-approved-rejected, review images sebagai URL, anti spam dengan unique constraint, dan agregasi rata-rata rating yang akurat dari review approved saja. ~65 menit 13 bagian
  10. Admin dan Backoffice Domain Bangun lapisan operasi internal online shop skincare: admin login, role check, product management, stock adjustment, order management, payment inspection, customer support view, dan audit log append-only yang menelusuri setiap tindakan admin. ~70 menit 13 bagian
Roadmap 6 Testing Go Backend Applications 5 modul
  1. Unit Testing Dasar di Go Belajar menguji pure Go logic dengan package testing bawaan, table-driven test, subtest, race detector, dan coverage, berlabuh ke diskon, stok, dan transisi status order. ~70 menit 15 bagian
  2. Testing HTTP Handler dengan httptest Uji perilaku API Go untuk endpoint product, cart, dan order dengan httptest, mock service, status code, JSON body, header, dan middleware tanpa server sungguhan. ~72 menit 15 bagian
  3. Testing Service Layer dengan Mock Repository Menguji business logic checkout, payment webhook, dan inventory dengan fake repository agar service tidak bergantung pada database. ~70 menit 12 bagian
  4. Integration Testing dengan Database PostgreSQL Nyata Pelajari cara menguji repository pgx dengan PostgreSQL sungguhan, migration test, seed data, rollback transaksi per test, dan verifikasi pelanggaran constraint. ~64 menit 12 bagian
  5. End-to-End API Testing Belajar menguji checkout flow sebagai black box, dari HTTP request sampai perubahan state di PostgreSQL, termasuk idempotensi webhook dan skenario gagal. ~70 menit 11 bagian
Roadmap 7 Security, Authentication, Production Safety 5 modul
  1. Password dan Auth Security Bangun login yang aman dengan bcrypt, token pendek, refresh token ter-hash, rate limiting, reset password, dan verifikasi email. ~70 menit 11 bagian
  2. JWT dan Otorisasi Route Proteksi route API skincare dengan JWT, context, dan role-based access yang jelas. ~65 menit 11 bagian
  3. Keamanan Input Pelajari cara mencegah SQL injection, XSS, upload berbahaya, body besar, dan path traversal di API online shop skincare. ~70 menit 12 bagian
  4. Keamanan Webhook Pembayaran Amankan webhook pembayaran dengan signature, replay protection, idempotency dua lapis, audit log, dan amount dari database. ~70 menit 11 bagian
  5. Manajemen Secrets yang Aman Pelajari cara menyimpan credential sensitif dengan aman dari local development sampai production di AWS. ~70 menit 12 bagian
Roadmap 8 Docker, CI/CD, dan AWS Deployment 9 modul
  1. Containerize Go API dengan Docker Bungkus Go API dan worker skincare menjadi Docker image kecil, statis, dan aman yang siap masuk CI/CD lalu di-deploy ke AWS. ~65 menit 12 bagian
  2. Docker Compose untuk Local Development Stack Jalankan API, worker, PostgreSQL, dan Redis lokal dengan satu perintah Docker Compose, persis seperti sistem production. ~65 menit 12 bagian
  3. CI Pipeline Bangun pipeline GitHub Actions untuk lint, format, vet, test, race detector, build image, dan push aman ke Amazon ECR lewat OIDC. ~65 menit 12 bagian
  4. AWS Foundation Peta layanan AWS yang menjalankan backend skincare di production, dari VPC dan ECS Fargate sampai RDS, S3, IAM, dan SQS, agar kamu bisa berdiskusi arsitektur tanpa menebak. ~70 menit 12 bagian
  5. Deploy Go API ke ECS Fargate Dorong image Go API ke ECR, jalankan sebagai task Fargate, sambungkan ke ALB, suntik secret dari Secrets Manager, lalu rolling update tanpa downtime. ~70 menit 12 bagian
  6. Deploy Background Worker ke ECS Jalankan worker SQS sebagai ECS service terpisah agar event pembayaran dan notifikasi diproses async, idempoten, bisa retry lewat DLQ, dan diskalakan dari backlog antrian. ~70 menit 12 bagian
  7. PostgreSQL di AWS RDS Jalankan PostgreSQL skincare production di AWS RDS, private subnet, backup, parameter group, migration disiplin, dan pool koneksi yang aman dari ECS. ~70 menit 12 bagian
  8. S3 dan CloudFront untuk Gambar Produk Bangun alur upload gambar produk yang aman, ringan untuk API, dan cepat diakses lewat CDN privat. ~70 menit 12 bagian
  9. Observability di AWS Pantau log terstruktur, metrik, alarm, dan notifikasi production agar masalah backend skincare terdeteksi sebelum pelanggan komplain. ~75 menit 12 bagian
Roadmap 9 Advanced Backend Engineering for Scaling 6 modul
  1. Performance Profiling Go Backend Belajar menemukan bottleneck Go API dengan pprof, pg_stat_statements, query count, dan pgxpool stats. ~75 menit 11 bagian
  2. Caching Strategy dengan Redis Pelajari cara menaruh Redis cache di titik baca yang tepat tanpa mengorbankan konsistensi data online shop skincare. ~75 menit 13 bagian
  3. Optimasi Pencarian Produk Naikkan pencarian produk skincare dari ILIKE ke PostgreSQL full-text search: GIN index, ranking, filter & sort strategy, keyset pagination yang benar, dan kapan pindah ke pg_trgm atau OpenSearch. ~80 menit 15 bagian
  4. Event-Driven Architecture dengan SQS Pisahkan side effect checkout dari core flow order dengan domain events, SQS, worker, dan outbox pattern. ~75 menit 13 bagian
  5. Konsistensi Order dan Inventory di High Traffic Pelajari cara mencegah overselling saat banyak checkout berjalan bersamaan dengan locking, reservation, timeout, dan load test. ~75 menit 13 bagian
  6. Split ke Microservices Pelajari kapan modular monolith perlu dipecah, cara memilih boundary, dan cara migrasi bertahap tanpa menghentikan bisnis. ~75 menit 11 bagian