← ALL WORK
Web application2026

Child Vaccination System

Child Vaccination System is a four-role immunization platform for hospitals and families: parents track their children's schedules and confirm attendance, health workers run daily worklists and administer doses, hospital managers watch coverage analytics and vaccine stock, and a super admin manages the network. When a child is registered, the system generates their personal schedule from a WHO/EPI-style master calendar. The backend is Go (Fiber) on PostgreSQL with JWT auth; the frontend is one Expo codebase that ships as an installable web app in English, Arabic and Sorani Kurdish with full RTL. Both apps deploy from a single repo through Coolify, and every push auto-deploys and re-seeds the demo environment.

Project Overview

Childhood immunization programs fail quietly: paper cards get lost, doses get missed, and clinics find out late. The goal was one system where every role sees exactly what it needs. A parent opens the app and sees this week's doses per child; an employee opens a worklist of who is due or overdue today; a manager sees coverage by vaccine, monthly trends and staff activity; the super admin oversees hospitals, users, the vaccine catalog and an audit log. Delivered: a live product at childvac.icode.krd with per-role interfaces in three languages, automatic schedule generation from birth date, QR-based child lookup, PDF vaccination certificates and a self-seeding demo environment.

Features & Functionality

Registering a child auto-generates their full immunization schedule (BCG, OPV, PENTA, PCV, ROTA, IPV, MR, YF) from a master calendar keyed to age in days. Parents get a home screen with a tappable week strip and per-day dose agenda, attendance confirmation the clinic can see, dose reminders, vaccine explainers and a downloadable PDF certificate. Employees get a worklist of due and overdue doses, QR scan lookup, batch-tracked dose administration, missed/cancelled statuses, catch-up rescheduling and adverse-event (AEFI) reporting. Managers get a dashboard — doses by status, doses per month, coverage per vaccine, staff leaderboard — plus employee management, defaulter follow-up lists with call actions, and vaccine stock with expiry and low-stock alerts.

Development & Technology

The backend is Go 1.25 with Fiber v2, structured as clean architecture: HTTP delivery, use cases, domain entities, and repository adapters over PostgreSQL via pgx v5 with sqlc-generated queries. Schema changes ship as 16 golang-migrate migrations. Auth is JWT (golang-jwt v5) with bcrypt hashing, role middleware for the four roles, and hospital-level scoping enforced in handlers; an audit middleware records admin actions, and a daily background job sweeps overdue doses to missed. The client is a single Expo SDK 54 codebase — expo-router, TanStack Query, Zustand, NativeWind — with hand-built SVG charts, three languages via i18next, JS-driven RTL mirroring, and Roboto Mono / Noto Kufi Arabic typography.

Performance, SEO & Deployment

The web build is statically exported: every route pre-renders to its own HTML file, served by nginx with hashed immutable assets, gzip, and an SPA fallback for dynamic routes. It installs as a PWA — standalone display, theme color, per-user selectable app icon — with meta descriptions in the shell. Deployment is two Coolify apps from one GitHub repo: a multi-stage Go image whose entrypoint runs migrations and an idempotent seeder before starting the API, and an nginx image with the API URL baked at build time. Let's Encrypt certificates come from Coolify's proxy; a GitHub App webhook redeploys both on every push, and the deterministic seeder maintains a 200-parent demo dataset.

( GALLERY )

Child Vaccination System — image 1
Child Vaccination System — image 2
Child Vaccination System — image 3
Child Vaccination System — image 4
Child Vaccination System — image 5
Child Vaccination System — image 6
Child Vaccination System — image 7