Software Engineer

Từ ý tưởng.
Đến sản phẩm hoàn chỉnh.

Xin chào, mình là Thanh Lê. Mình xây dựng ứng dụng từ giao diện web, backend đến mobile — và hạ tầng để kết nối tất cả.

FRONTEND / BACKEND / DEVOPS / MOBILE

04Mảng kỹ thuật
kết nối xuyên suốt
09Backend
services
02Web apps
Admin & User
01Ứng dụng
đa nền tảng
SCROLL TO EXPLORE
CORE STACKTypeScriptNext.jsNestJSReact NativePostgreSQLDocker

01 / Về mình

Viết code có mục đích.
Xây sản phẩm có kết nối.

Mình là Software Engineer với kinh nghiệm thực hành trên hệ sinh thái NRApp: cổng quản trị, web nhân viên, ứng dụng mobile và các dịch vụ nghiệp vụ. Mình làm việc xuyên suốt từ giao diện, API, dữ liệu và xác thực đến đóng gói, kiểm thử và quan sát hệ thống.

Type-safe developmentPhân tách trách nhiệmTheo dõi & kiểm thử
01

Frontend engineering

Web responsive, dashboard, BFF và trải nghiệm theo vai trò.

02

Backend engineering

API, microservices, dữ liệu, realtime và tích hợp thanh toán.

03

DevOps & observability

Containers, CI, metrics, logs, tracing và cảnh báo.

04

Mobile development

Ứng dụng Expo, chat realtime, camera, QR và secure storage.

02 / Technical toolkit

Công nghệ mình làm việc.

Một bộ kỹ năng kết nối giao diện, nghiệp vụ, dữ liệu và vận hành trong cùng một hệ thống.

Frontend & web platform

01

Xây dựng web Admin/User với App Router, BFF Route Handlers, React Hooks và Context. Thiết kế responsive; xử lý loading, empty, error state và quản lý phiên.

TypeScriptJavaScriptReact 19Next.js 16HTML5CSS3 / CSS ModulesCSS variablesApp RouterRoute Handlers / BFFHooks / Context APIFetch APIAbortControllerLucide ReactResponsive UISemantic HTML / ARIA

Backend & API architecture

02

Tổ chức 9 backend service gồm Gateway và 8 dịch vụ nghiệp vụ, thiết kế REST API, validation DTO, dependency injection và giao tiếp bất đồng bộ giữa các service.

Node.jsNestJS 11TypeScriptExpressREST APIMicroservicesAPI GatewaySwagger / OpenAPIDependency injectionclass-validatorclass-transformerRxJSBackground workers

Database, realtime & integrations

03

Lưu trữ SQL/NoSQL, cache và messaging; chat realtime, upload ảnh, gửi email. Tích hợp thanh toán với webhook idempotent và transactional outbox.

PostgreSQLMongoDBRedisRabbitMQTypeORM / migrationsMongoosenode-redisamqplibSocket.IOCloudinaryMulter / FormDataNodemailer / SMTPCasso / VietQRWebhooks / idempotencyTransactional outboxSQL transactions / row lockingIndexesRetry / dead-letter queues

Authentication & access control

04

Xác thực OTP, đăng nhập Google, phân quyền vai trò; bảo vệ phiên bằng refresh token, cookie HttpOnly và secure storage. Ký request nội bộ bằng HMAC.

JWT / PassportOTPRBACbcryptGoogle Sign-InRefresh token rotationRefresh request deduplicationHttpOnly / Secure / SameSiteRoute guardsHMAC signingRedis rate limitingExpo SecureStoreSession management

DevOps & delivery

05

Đóng gói service với Docker, quản lý stack bằng Compose, cấu hình healthcheck và môi trường. Thiết lập CI chạy lint, test và build với GitHub Actions.

DockerDocker ComposeGitHub Actions / CIMulti-stage buildsBuildKit cacheNon-root containersContainer networkingVolumes / healthchecksEnvironment configurationGit / GitHubnpm scriptsNode.js automationDatabase migrations

Observability & diagnostics

06

Kết nối metrics, logs và traces; xây dựng gói observability dùng chung cho backend, theo dõi request qua correlation ID và thiết lập dashboard, cảnh báo.

OpenTelemetryPrometheusGrafanaLokiGrafana AlloyJaegerAlertmanagerPino / structured loggingOTLPDistributed tracingCorrelation / request IDDashboards / alert rulescAdvisorNode / Blackbox ExporterRedis / PostgreSQL Exporters

Mobile & device integration

07

Ứng dụng Android/iOS/web với Expo Router, phân tách feature theo vai trò. Chat realtime, typing/seen, upload ảnh, QR chấm công và giao diện thanh toán VietQR.

React Native 0.81Expo SDK 54Expo RouterNativeWind / Tailwind CSSReact Native WebAxiosSocket.IO ClientAsyncStorageExpo CameraExpo Image / Image Pickerreact-native-qrcode-svgReact Native SVGSafe Area ContextDateTimePickerExpo Vector IconsReact Native AnimatedMetro / BabelAndroid Emulator / ADB

Thư viện nền tảng trong stack: React Navigation, React Native Screens, Reanimated, Gesture Handler, Worklets; Expo Font, Splash Screen, Status Bar và System UI.

Testing & engineering practices

08

Kiểm thử logic nghiệp vụ, luồng tích hợp và smoke test; giữ chất lượng bằng type checking, lint, format và quy tắc import. Tổ chức code theo module/feature.

Jest / ts-jestNode.js test runnerESLintNestJS TestingPrettierTypeScript strictUnit / integration testsContract / concurrency testsSmoke / E2E scriptsTest coverageTyped API contractsFeature-based architectureImport boundary rules

Công cụ có trong dev dependencies: Supertest; ts-node, ts-loader và tsconfig-paths cho backend.

Đang hiển thị 8 nhóm kỹ năng.

03 / Selected work

Một hệ sinh thái. Nhiều lời giải.

NRApp — hệ thống quản trị và vận hành nội bộ, kết nối người dùng, quy trình và dữ liệu trên web và mobile.

01 / Frontend · 2 web applications

NRApp Admin & User Web

Hai cổng web cho quản trị viên và nhân viên: quản lý nhân sự, lịch làm, công việc, căn tin, đơn hàng và hồ sơ. Kết nối backend qua lớp BFF với phiên đăng nhập bằng cookie HttpOnly.

Next.jsReactTypeScriptCSS Modules
Những gì mình xây dựng
  • Admin: dashboard KPI, quản lý nhân sự/vai trò, duyệt lịch và đơn từ, báo cáo chấm công; quản lý thực đơn, kho và đơn hàng.
  • User: đăng nhập OTP, lịch làm tuần, công việc, danh bạ, hội thoại qua REST, đặt món và theo dõi thanh toán VietQR.
  • BFF Route Handlers, session/refresh token, role guards, typed API contracts và chuẩn hóa trạng thái giao diện.

02 / Backend · 9 services

NRApp Service Platform

Hệ thống NestJS gồm Gateway và 8 service nghiệp vụ: auth, user, mail, chat, todo, workschedule, canteen và payment. Phân tách trách nhiệm, dữ liệu và luồng giao tiếp giữa các service.

NestJSPostgreSQLMongoDBRabbitMQ
Những gì mình xây dựng
  • REST API, DTO validation, Swagger, JWT/OTP và Google Sign-In; phân quyền và ký HMAC cho request nội bộ.
  • Chat Socket.IO, upload ảnh Cloudinary/Multer, gửi email SMTP và cache với Redis.
  • VietQR/Casso trên PostgreSQL: migration TypeORM, chống xử lý webhook trùng và transactional outbox cho sự kiện thanh toán.

03 / Mobile · Android / iOS / Web

Nrapp Mobile Application

Ứng dụng React Native/Expo phục vụ cả admin và nhân viên. Từ lịch làm, quản lý công việc và căn tin đến chat realtime, quét QR chấm công và giao diện thanh toán VietQR.

React NativeExpoNativeWindSocket.IO
Những gì mình xây dựng
  • Expo Router, giao diện theo vai trò và cấu trúc feature; xác thực OTP, SecureStore trên native, AsyncStorage trên web và tự refresh token.
  • Chat văn bản/hình ảnh, typing indicator, trạng thái đã xem, upload bằng Image Picker và FormData.
  • Xin quyền camera, quét/tạo QR chấm công; quản lý lịch, đơn nhân sự, căn tin và truy vấn trạng thái giao dịch.

04 / DevOps · CI & observability

Infrastructure & Monitoring

Đóng gói backend bằng Docker Compose, CI qua GitHub Actions và xây dựng gói observability dùng chung. Kết nối logs, metrics, traces để theo dõi các service và chẩn đoán lỗi.

DockerGitHub ActionsOpenTelemetryGrafana
Những gì mình xây dựng
  • Multi-stage Docker builds, Compose networking/volumes/healthchecks và pipeline lint → test → build.
  • Pino, correlation ID, OpenTelemetry/OTLP; Prometheus, Grafana, Loki và Alloy cho metrics/logs.
  • Dashboard, alert rules và Alertmanager; Jaeger phục vụ tracing trong môi trường local/staging.

CÁCH MÌNH KẾT NỐI CÁC PHẦN CỦA SẢN PHẨM

01 / INTERFACE

Bắt đầu từ người dùng

Xây luồng thao tác, giao diện responsive và phân quyền theo vai trò.

02 / SYSTEM

Thiết kế phần kết nối

API contracts, service boundaries, xác thực và mô hình dữ liệu.

03 / QUALITY

Kiểm tra luồng nghiệp vụ

Type check, lint, unit test, smoke test và xử lý các trạng thái lỗi.

04 / OPERATIONS

Theo dõi khi hệ thống chạy

Đóng gói container, CI và kết nối logs, metrics, traces.

04 / Let's connect

Cùng xây dựng
điều có ý nghĩa.

Tìm hiểu thêm về mình qua CV, hoặc kết nối để trao đổi về sản phẩm và công nghệ.

TẢI CV CỦA MÌNH