Skip to main content

Crowdfunding Platform (Full-Stack)

Full-Stack 07 June 2026 Featured
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

Wareg Restaurant – Modern Food Ordering Landing

Role: Front-End Developer Tech Stack: Astro 5 · Tailwind CSS v4 · TypeScript · …

28 May 2026
Deeptalk — Real-Time LLM Translation for Multilingual Meetings

Role: AI Engineer / Fullstack Engineer Tech Stack: Go (Backend/API) · Next.js …

13 Feb 2025
PURSE (Process and Utilization of Research and Social Engagement)

Role: System Maintainer & Developer Tech Stack: Laravel · MySQL · Python · …

19 Jul 2022
BudgetKu – Smart Personal Finance Management App

Role: Full-Stack Developer Tech Stack: Laravel · MySQL · Bootstrap · Google …

05 Mar 2022