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 tersediaRoadmap 1 Go Programming Foundations 12 modul
- Pengenalan Go dan Pola Pikir Backend Developer Mulai di sini Belum mulai Kenali alasan Go cocok untuk backend online shop skincare, dari typing, kompilasi, concurrency, sampai posisi API dan worker.
- Setup Go dan Developer Workflow Belum mulai Pasang Go 1.26, pahami Go Modules dan toolchain, lalu kuasai ritual harian dari go mod init sampai go build untuk backend skincare.
- Variabel, Konstanta, Tipe, dan Zero Value Belum mulai 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.
- Control Flow di Go Belum mulai 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.
- Fungsi dan Pola Error Return Belum mulai 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.
- Struct dan Method Belum mulai 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.
- Pointer dan Dasar Memori Belum mulai 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.
- Slice, Map, dan Koleksi Belum mulai 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).
- Interface dan Desain Dependensi Belum mulai 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.
- Package dan Organisasi Proyek Belum mulai 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.
- Context dan Lifecycle Request Belum mulai 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.
- Concurrency Dasar Belum mulai 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.
Roadmap 2 Go Web API 8 modul
- Fundamental HTTP Belum mulai Pahami cara request, response, method, status code, header, parameter, dan JSON API bekerja sebelum masuk ke net/http dan chi.
- Membangun HTTP Handler dengan net/http Belum mulai Belajar membuat HTTP handler Go murni dengan net/http sebelum memakai router chi.
- Routing dengan chi Belum mulai Membangun routing REST yang rapi dengan chi: router, path parameter, grouping /v1, mount subrouter domain, dan middleware chain untuk API skincare.
- Desain Request dan Response API Belum mulai Mendesain envelope JSON yang konsisten: request DTO, response DTO, pagination, dan error per field untuk frontend dan mobile.
- Middleware dengan chi Belum mulai Rangkai middleware chi untuk logging slog, recovery, request id, CORS, timeout, dan auth dengan urutan yang benar.
- Validasi Input API Belum mulai Validasi request HTTP secara eksplisit, per field, dan konsisten sebelum data masuk ke business logic online shop skincare.
- Alur Autentikasi: Session, JWT, dan Role Belum mulai 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.
- Desain REST API untuk Online Shop Skincare Belum mulai Capstone Roadmap 2: rakit handler, router chi, middleware, validasi, dan auth menjadi satu permukaan REST API e-commerce yang utuh.
Roadmap 3 PostgreSQL dan pgx 10 modul
- Fundamental Basis Data Relasional Belum mulai Pahami tabel, key, constraint, relasi, index, normalisasi, dan alasan PostgreSQL menjadi fondasi data untuk online shop skincare.
- SQL Dasar untuk Backend Developer Belum mulai Belajar query SQL yang langsung dipakai untuk API produk, cart, dan order di PostgreSQL.
- Pemodelan Data Online Shop Skincare Belum mulai Rancang skema PostgreSQL lengkap untuk produk, cart, order, pembayaran, pengiriman, review, dan promosi online shop skincare.
- Database Migration yang Aman Belum mulai Kelola perubahan skema PostgreSQL dengan migration yang versioned, aman, dan siap production memakai golang-migrate.
- Koneksi Go ke PostgreSQL dengan pgx Belum mulai Setup pgxpool yang efisien, aman, dan siap dipakai repository untuk API online shop skincare.
- Membaca Data dari PostgreSQL dengan pgx Belum mulai Belajar membaca satu atau banyak baris PostgreSQL dengan pgxpool, lalu memetakan hasil SELECT ke struct Go secara eksplisit, dari detail produk sampai order bersarang.
- Menulis Data ke PostgreSQL dengan pgx Belum mulai Belajar menulis data ke PostgreSQL dari Go memakai pgx: INSERT RETURNING, UPDATE, soft delete, upsert ON CONFLICT, partial update, optimistic locking, sampai bulk insert.
- Transaksi Database untuk Operasi Kritis Belum mulai Pelajari cara memakai transaksi pgx untuk menjaga checkout, stok, order, dan payment tetap konsisten.
- Indexing dan Performa Query Belum mulai Pelajari cara membuat query produk dan order history tetap cepat dengan index PostgreSQL yang tepat.
- Repository Pattern dengan pgx Belum mulai Capstone Roadmap 3: rakit koneksi, query, write, transaksi, dan index menjadi satu lapis akses data PostgreSQL yang bersih, eksplisit, dan mudah diuji.
Roadmap 4 Clean Backend Architecture 8 modul
- Layered Architecture Belum mulai 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.
- Modular Monolith: Organisasi Folder by Domain Belum mulai Atur backend skincare sebagai modular monolith by domain agar boundary jelas, testable, dan siap tumbuh tanpa buru-buru microservices.
- Manajemen Konfigurasi Belum mulai 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.
- Error Handling Strategy yang Konsisten Belum mulai 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.
- Logging Strategy yang Observable Belum mulai 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.
- Validasi Input vs Business Rules Belum mulai Pisahkan validasi bentuk request di handler dari aturan bisnis di service agar checkout, diskon, dan transisi order skincare tidak pernah masuk keadaan invalid.
- Idempotency Belum mulai 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.
- Background Worker Architecture Belum mulai 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.
Roadmap 5 Online Shop Skincare Domain Mastery 10 modul
- Domain Katalog Produk Skincare Belum mulai 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.
- Product Search and Filtering Belum mulai 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.
- Domain Cart: Mengelola Niat Beli Belum mulai 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.
- Checkout Domain Belum mulai Ubah cart jadi order dengan aman: validasi checkout, snapshot harga, alamat, diskon, dan ongkir, generate nomor order, lalu reservasi stok dalam satu transaksi atomic.
- Inventory Domain: Cegah Overselling Belum mulai 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.
- Domain Payment Belum mulai Bangun alur payment gateway yang aman: payment intent, verifikasi signature webhook, idempotency lewat event log, satu transaksi untuk payment-order-inventory, plus rekonsiliasi harian.
- Order Lifecycle Belum mulai 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.
- Domain Promosi dan Voucher Belum mulai 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.
- Review dan Rating Domain Belum mulai 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.
- Admin dan Backoffice Domain Belum mulai 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.
Roadmap 6 Testing Go Backend Applications 5 modul
- Unit Testing Dasar di Go Belum mulai 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.
- Testing HTTP Handler dengan httptest Belum mulai Uji perilaku API Go untuk endpoint product, cart, dan order dengan httptest, mock service, status code, JSON body, header, dan middleware tanpa server sungguhan.
- Testing Service Layer dengan Mock Repository Belum mulai Menguji business logic checkout, payment webhook, dan inventory dengan fake repository agar service tidak bergantung pada database.
- Integration Testing dengan Database PostgreSQL Nyata Belum mulai Pelajari cara menguji repository pgx dengan PostgreSQL sungguhan, migration test, seed data, rollback transaksi per test, dan verifikasi pelanggaran constraint.
- End-to-End API Testing Belum mulai Belajar menguji checkout flow sebagai black box, dari HTTP request sampai perubahan state di PostgreSQL, termasuk idempotensi webhook dan skenario gagal.
Roadmap 7 Security, Authentication, Production Safety 5 modul
- Password dan Auth Security Belum mulai Bangun login yang aman dengan bcrypt, token pendek, refresh token ter-hash, rate limiting, reset password, dan verifikasi email.
- JWT dan Otorisasi Route Belum mulai Proteksi route API skincare dengan JWT, context, dan role-based access yang jelas.
- Keamanan Input Belum mulai Pelajari cara mencegah SQL injection, XSS, upload berbahaya, body besar, dan path traversal di API online shop skincare.
- Keamanan Webhook Pembayaran Belum mulai Amankan webhook pembayaran dengan signature, replay protection, idempotency dua lapis, audit log, dan amount dari database.
- Manajemen Secrets yang Aman Belum mulai Pelajari cara menyimpan credential sensitif dengan aman dari local development sampai production di AWS.
Roadmap 8 Docker, CI/CD, dan AWS Deployment 9 modul
- Containerize Go API dengan Docker Belum mulai Bungkus Go API dan worker skincare menjadi Docker image kecil, statis, dan aman yang siap masuk CI/CD lalu di-deploy ke AWS.
- Docker Compose untuk Local Development Stack Belum mulai Jalankan API, worker, PostgreSQL, dan Redis lokal dengan satu perintah Docker Compose, persis seperti sistem production.
- CI Pipeline Belum mulai Bangun pipeline GitHub Actions untuk lint, format, vet, test, race detector, build image, dan push aman ke Amazon ECR lewat OIDC.
- AWS Foundation Belum mulai 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.
- Deploy Go API ke ECS Fargate Belum mulai Dorong image Go API ke ECR, jalankan sebagai task Fargate, sambungkan ke ALB, suntik secret dari Secrets Manager, lalu rolling update tanpa downtime.
- Deploy Background Worker ke ECS Belum mulai Jalankan worker SQS sebagai ECS service terpisah agar event pembayaran dan notifikasi diproses async, idempoten, bisa retry lewat DLQ, dan diskalakan dari backlog antrian.
- PostgreSQL di AWS RDS Belum mulai Jalankan PostgreSQL skincare production di AWS RDS, private subnet, backup, parameter group, migration disiplin, dan pool koneksi yang aman dari ECS.
- S3 dan CloudFront untuk Gambar Produk Belum mulai Bangun alur upload gambar produk yang aman, ringan untuk API, dan cepat diakses lewat CDN privat.
- Observability di AWS Belum mulai Pantau log terstruktur, metrik, alarm, dan notifikasi production agar masalah backend skincare terdeteksi sebelum pelanggan komplain.
Roadmap 9 Advanced Backend Engineering for Scaling 6 modul
- Performance Profiling Go Backend Belum mulai Belajar menemukan bottleneck Go API dengan pprof, pg_stat_statements, query count, dan pgxpool stats.
- Caching Strategy dengan Redis Belum mulai Pelajari cara menaruh Redis cache di titik baca yang tepat tanpa mengorbankan konsistensi data online shop skincare.
- Optimasi Pencarian Produk Belum mulai 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.
- Event-Driven Architecture dengan SQS Belum mulai Pisahkan side effect checkout dari core flow order dengan domain events, SQS, worker, dan outbox pattern.
- Konsistensi Order dan Inventory di High Traffic Belum mulai Pelajari cara mencegah overselling saat banyak checkout berjalan bersamaan dengan locking, reservation, timeout, dan load test.
- Split ke Microservices Belum mulai Pelajari kapan modular monolith perlu dipecah, cara memilih boundary, dan cara migrasi bertahap tanpa menghentikan bisnis.