Courses, jobs and employability API
The Go backend behind course enrollments and job listings in the SuperApp.
My role
Top contributor to the repository (298 of 721 commits) and code owner.
- #1
- contributor by commits
- 97%
- of responses under 100 ms under load
- 474
- req/s peak with zero errors
Problem
City courses, job openings, opportunities for micro-entrepreneurs, résumés and applications, with each department owning its own data under different access rules.
Solution
A Go API (Gin, GORM, PostgreSQL, Redis) with a full employability module covering résumés, openings, applications and per-opening eligibility rules.
Highlights
- Layered authorization. JWTs are validated in Istio, roles come from Heimdall, fine-grained policies live in Cerbos, and ownership is checked per department.
- Workers that sync citizen and department data, using a Redis lock so only one pod runs them.
- Canary releases in production (10% → 100% in steps) gated by Prometheus success-rate analysis, and blue-green in staging.
- CI with -race tests, a coverage drop limit, golangci-lint, Hadolint and Trivy.
Result
It serves SuperApp enrollments. Under load, 97% of responses came back under 100 ms with a 474 req/s peak and zero errors.