Crowdfunding Platform (Full-Stack)
Role: Full-Stack Engineer
Tech Stack: Go · Gin · GORM · PostgreSQL · Next.js · TypeScript · Tailwind · Zod · Cloudflare R2 · Midtrans · Swagger · Docker
A complete crowdfunding platform built in two parts: a Go REST API and a Next.js web client. Users register, browse and create campaigns, and donate through a payment gateway.
Repositories
Backend (Go)
- Organised by domain — each owns its entity, repository, and service — with handlers depending only on interfaces, so the logic is unit tested with mocks and no database.
- UUID identifiers across the API, so resource IDs can’t be guessed or enumerated.
- Compile-time dependency injection with google/wire — no runtime reflection.
- Atomic payments — transaction status and campaign totals update inside one database transaction.
- Cloudflare R2 (S3-compatible) file uploads, with a local-disk fallback for development.
- Operability: graceful shutdown, request-id tracing, structured logs, and database connection retry on startup.
- Swagger docs for every endpoint, unit and handler tests, and a GitHub Actions pipeline. Ships with a Dockerfile and Compose stack.
Frontend (Next.js)
- Backend-for-frontend: data is fetched in Server Components and mutations run through Server Actions — the API token never reaches client-side JavaScript.
- Sessions in an httpOnly cookie, set server-side at login and register.
- Zod validates both form input and every API response, with types inferred from the schemas.
- Responsive UI built from small, reusable components.
Other Projects
Role: Front-End Developer Tech Stack: Astro 5 · Tailwind CSS v4 · TypeScript · …
28 May 2026Role: AI Engineer / Fullstack Engineer Tech Stack: Go (Backend/API) · Next.js …
13 Feb 2025Role: System Maintainer & Developer Tech Stack: Laravel · MySQL · Python · …
19 Jul 2022Role: Full-Stack Developer Tech Stack: Laravel · MySQL · Bootstrap · Google …
05 Mar 2022