Get me a coffeeCoffee...
Technical Projects

A complete collection of my technical work and systems.

01
Courtin — Badminton Community & Online Booking Platform
Graduation project: a TypeScript monorepo connecting court owners, players, and the badminton community. Real-time slot booking with Redis-backed holds, VietQR wallet payments with an append-only ledger, and skill-based matchmaking — split across independent Express services behind an API gateway with a shared RabbitMQ event bus. Benchmarked the gateway at 635 req/s with 196 ms p95 latency.
Microservices Platform
TypeScriptReactExpressPrismaPostgreSQLRabbitMQRedisSocket.IODocker
02
CAB — Ride Booking System
Security Developer on a ~9-person ride-hailing platform. Built the standalone auth-service from scratch: RS256 JWT issuance with key rotation and a JWKS endpoint, OTP login for customers/drivers, TOTP-based MFA for admins, per-route Redis rate limiting, and refresh-token rotation with replay revocation. Authored repeatable Zero Trust audits validating RBAC/ABAC across 15/15 access-control cases, blocking all 11 unauthorized attempts.
Cybersecurity — Team Project
Node.jsExpressPostgreSQLRedisJWT / JWKSKafkaDocker
03
Badminton Court Management System
An online badminton court booking platform (v1) that eliminates double-booked slots and duplicate payments through real-time availability with short-term slot holds and QR payments confirmed by webhook. Serves customers booking courts, front-desk staff handling check-ins and refunds, and admins managing pricing and revenue — built as independent, containerized microservices communicating over a message bus.
Microservices Platform
JavaScriptTypeScriptMicroservicesDockerMessage BusREST APIs
04
E-Project — Messaging & Tested API
An Express + MongoDB backend with asynchronous RabbitMQ messaging, covered by an automated Mocha/Chai integration test suite.
Backend Service
Node.jsExpressMongoDBRabbitMQMocha
05
CRUD Application
A CRUD web application built with Node.js handling record management and PDF parsing, with a plain HTML/CSS front end.
Web App
Node.jsJavaScriptHTMLCSS
06
Product & Supplier MVC CRUD
An MVC CRUD app for products and suppliers with EJS views, method-override routing, and Swagger-documented REST APIs.
MVC CRUD
Node.jsExpressMongoDBEJSSwagger
07
CRUD Web App with Auth
A full CRUD web application with EJS layouts, session-based authentication, flash messages, bcrypt hashing, and Swagger API docs.
Web App
Node.jsExpressMongoDBEJSSwagger
08
Passport.js Auth Website
A web app with Passport.js local authentication, express-session, bcrypt password hashing, and EJS views over MongoDB.
Authentication
Node.jsExpressMongoDBPassportEJS
09
Cookie & Session Auth
An authentication demo using Express cookie-based sessions with a MongoDB session store and bcrypt-hashed credentials.
Authentication
Node.jsExpressMongoDB
10
Session/Cookie Auth Experiment
An experiment exploring cookie and session authentication flows with Express, express-session, and MongoDB.
Authentication
Node.jsExpressMongoDB
11
JWT Token Auth
A JWT token-based authentication service with Express, jsonwebtoken, bcrypt hashing, and MongoDB.
Authentication
Node.jsExpressMongoDBJWT
12
Passport Auth Service
A standalone Passport.js authentication service with express-session, bcrypt, and EJS views over MongoDB.
Authentication
Node.jsExpressMongoDBPassportEJS
13
Simple Auth
A minimal authentication example with Express, cookie-parser, and MongoDB — a compact reference for the core auth flow.
Authentication
Node.jsExpressMongoDB