# Ranjan Yadav

> Personal dev portfolio and blog.

- [About](https://ranjanyadav.com.np/about.md): A quick intro to me, my tech stack, and how to connect.
- [Experience](https://ranjanyadav.com.np/experience.md): Highlights from my career and key roles I've taken on.
- [Projects](https://ranjanyadav.com.np/projects.md): Selected projects that show my skills and creativity.
- [Awards](https://ranjanyadav.com.np/awards.md): My key awards and honors.
- [Certifications](https://ranjanyadav.com.np/certifications.md): Certifications and credentials I've earned.

## Blog

- [Install PostgreSQL 18 on Ubuntu — PGDG Repository, Security, First Steps](https://ranjanyadav.com.np/blog/install-postgresql-18-ubuntu-vps.mdx): A production-focused guide to installing PostgreSQL 18 on Ubuntu 24.04 using the official PGDG apt repository — covering the repo setup, post-install security, remote access, and the configuration decisions most tutorials gloss over.
- [Integrating ConnectIPS with Go — RSA Tokens, Validation](https://ranjanyadav.com.np/blog/connectips-payment-gateway-golang.mdx): A production-grade guide to wiring ConnectIPS — NCHL's account-to-account payment rail for Nepal — into a Go backend. SHA256withRSA token signing straight from a PKCS12 keystore, the redirect flow, server-to-server transaction validation, and the idempotency and amount checks most guides leave out.
- [Integrating ConnectIPS with NestJS — RSA Tokens, Validation](https://ranjanyadav.com.np/blog/connectips-payment-gateway-nodejs.mdx): A production-grade guide to wiring ConnectIPS — NCHL's account-to-account payment rail for Nepal — into a NestJS (TypeScript) backend. SHA256withRSA token signing from a PKCS12 keystore, the redirect flow, server-to-server transaction validation, and the idempotency and amount checks most guides leave out.
- [Integrating Fonepay with Go — QR, Web Redirect](https://ranjanyadav.com.np/blog/fonepay-payment-gateway-golang.mdx): A production-grade guide to wiring Fonepay — Nepal's interbank QR and payment network — into a Go backend on the standard library alone. Constant-time HMAC-SHA512 signing, dynamic QR with real-time confirmation, the web-redirect flow, and the server-side verification, idempotency, and amount checks most guides leave out.
- [Integrating Fonepay with NestJS — QR, Web Redirect](https://ranjanyadav.com.np/blog/fonepay-payment-gateway-nodejs.mdx): A production-grade guide to wiring Fonepay — Nepal's interbank QR and payment network — into a NestJS (TypeScript) backend. HMAC-SHA512 signing done right, dynamic QR with real-time WebSocket confirmation, the web-redirect flow, and the server-side verification, idempotency, and amount checks most guides leave out.
- [Deploy a Node.js App on an Ubuntu VPS with Nginx, PM2, and Let's Encrypt](https://ranjanyadav.com.np/blog/deploy-nodejs-vps-nginx.mdx): A modern step-by-step guide for deploying a Node.js application on an Ubuntu VPS using Nginx as a reverse proxy, PM2 for process management, pnpm for package management, and Let's Encrypt for free SSL.
- [Hello — I'm Ranjan](https://ranjanyadav.com.np/blog/welcome.mdx): A quick introduction to who I am, what I build, and why this blog exists.
