Home/Work/CMS Golang
Software Development

CMS Golang

A self-initiated CMS REST API built with Go to explore backend development outside my usual stack.

REST APIBackendCMSPersonal ProjectOpen Source

Client

Year

2025

Role

Backend Developer

CMS Golang preview
01

The Brief

This is a personal project built out of curiosity — an exploration of Go as a backend language beyond my usual Laravel and Node.js environment. The API covers core CMS functionality including article management, user authentication, and media handling, structured with clean separation between repository, service, and controller layers.

02

The Challenge

Learning Go's idioms and ecosystem from scratch while designing a clean, production-ready project structure. Adapting patterns I knew from Laravel and Express.js into Go's way of doing things — particularly around error handling, middleware, and ORM behavior — required a fresh perspective.

03

The Approach

Built with Fiber v2 for routing and GORM for database interaction on top of PostgreSQL. JWT-based authentication was implemented with support for both Bearer and non-Bearer token formats. Soft deletes, public UUID vs internal ID separation, and Swagger documentation were included to keep the API maintainable and well-documented.

Stack

Technologies Used

GoFiberGORMPostgreSQLJWTSwagger
Next Project

Software Development

ERP Alisan Printing