Skip to content
View OuThorninvithyea's full-sized avatar
:shipit:
:shipit:

Block or report OuThorninvithyea

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
OuThorninvithyea/README.md

Ou Thorninvithyea

Portfolio Email Location

Go Fiber Vue.js TypeScript PostgreSQL Redis Docker Tailwind


πŸ‘¨β€πŸ’» About Me

Backend-focused Full-Stack Software Engineer from Phnom Penh, Cambodia. I build high-performance APIs with Go + Fiber v3 and dynamic SPAs with Vue 3 + TypeScript. Currently deep-diving into clean architecture patterns, real-time systems, and scalable backend design.

What I'm actively learning right now:

  • πŸ—οΈ Clean Architecture β€” Handler β†’ Service β†’ Repository layers with constructor DI
  • ⚑ Go Fiber v3 β€” High-performance HTTP framework with middleware chains, JWT auth, and WebSocket support
  • πŸ” Auth patterns β€” JWT + Redis hybrid sessions (instant revocation, zero DB queries)
  • πŸ—„οΈ Database design β€” sqlc/pgx for type-safe SQL, golang-migrate, FIFO cost tracking, audit trails
  • 🌐 i18n β€” Multi-language APIs (English, Khmer, Chinese) with go-i18n
  • πŸ§ͺ Go testing β€” Table-driven tests, benchmarks, fuzzing, and race detection
  • βš™οΈ Concurrency β€” Goroutines, channels, select, WaitGroups, mutexes, context patterns
  • πŸ“Š PostgreSQL β€” Schema design, indexing strategy, BRIN/B-tree, pg_notify for real-time events

πŸš€ Featured Projects

BongThom v1 β€” Admin API

Full-stack classifieds platform for Cambodia with admin panel

Go 1.26 Fiber v3 PostgreSQL + sqlx Redis JWT HS256 Vue 3 TypeScript go-i18n

Production-grade admin backend with JWT+Redis dual-layer auth, multi-language response system (en/km/zh), WebSocket real-time notifications via PostgreSQL triggers, and dynamic partial update patterns. Clean architecture with strict handler β†’ service β†’ repository separation.

BongThom Go API β€” Backend Deep-Dive

Go Fiber REST API built from scratch β€” a focused backend learning project

Go 1.23+ Fiber v3 PostgreSQL + sqlx Redis JWT HS256 go-i18n WebSocket zerolog

Built entirely through iterative debugging β€” 10+ bugs fixed live, from nil type assertion panics to JWT signing method mismatches. Covers implicit interface satisfaction, sqlx vs database/sql, PostgreSQL placeholder syntax ($1 not 1$), i18n key exact matching, and constructor injection without frameworks. Compact repo with all lessons documented in README and Obsidian notes.

Full-stack community discussion & project showcase platform

Vue 3 Go Gin Vite REST API

Digital nomad city discovery & community platform

Vue 3 Go Gin Vite REST API

Premium remote job discovery & posting platform

Vue 3 Go Gin Vite REST API


πŸ› οΈ Tech Stack

Backend β€” Go Ecosystem

Go Fiber v3 PostgreSQL Redis

JWT (RS256/HS256) bcrypt sqlc + pgx sqlx golang-migrate go-i18n zerolog goroutines & channels WebSocket REST API design

Frontend

Vue 3 TypeScript Tailwind CSS Vite

Vue Router Pinia PrimeVue VeeValidate + Zod Axios Responsive Design

Tools & DevOps

Docker Git GitHub VS Code Figma

Air (hot reload) golang-migrate PostgreSQL triggers pg_notify Nginx

Architecture & Design

Clean Architecture Handler β†’ Service β†’ Repository Constructor DI Middleware Chains RBAC (Role-Based Access) Actor Model (Repository pattern) Audit Trails FIFO Costing Multi-language i18n Partial Update Pattern Event-Driven Architecture

Currently Exploring

AWS EC2 S3 RDS Lambda DynamoDB CloudFront API Gateway Kafka gRPC H3 Spatial Indexing Real-time Push (SSE/gRPC)


πŸ“– What I'm Learning (From Golang Project)

Architecture Deep Dives

  • Clean Architecture in Go β€” 5-file module pattern (model β†’ repo β†’ service β†’ handler β†’ router)
  • Uber's Backend β€” Polyglot microservices, RAMEN push platform, H3 hexagonal spatial indexing, Kafka event streaming, gRPC bidirectional streaming
  • FIX Protocol β€” Order entry systems and financial messaging

Go Backend

  • SQL builders (dynamic sort/filter/search from query params)
  • Rate limiting with Redis counters (INCR + TTL)
  • JWT + Redis hybrid auth (self-validating tokens + instant revocation)
  • bcrypt password hashing, multi-language i18n, WebSocket real-time updates
  • Table-driven tests, benchmarks (-benchmem), fuzzing, race detection (-race)

Cloud & Infrastructure

  • 50+ AWS services (compute, storage, databases, messaging, AI/ML)
  • Docker containerization, Air hot-reload for Go development
  • PostgreSQL: BRIN/B-tree indexes, partial indexes, pg_notify triggers, audit trails

πŸ“Š GitHub Stats


πŸ“¬ Connect With Me


Built with ❀️ by Ou Thorninvithyea
Β© 2026 Ou Thorninvithyea. All rights reserved.

Pinned Loading

  1. Banking-Mobile-app-Final-Exam- Banking-Mobile-app-Final-Exam- Public

    puk ah chem

    Kotlin