Aurijin
CRM/ERP đa tenant cho ngành trang sức, quản lý trọn vòng đời đơn hàng — từ nhận đơn, sản xuất nhiều công đoạn, truy vết vàng theo gram, đến giao hàng. Quy mô 4 app frontend, ~30 module backend, 45+ data model.
- Next.js 16
- React 19
- Turborepo
- NestJS
- Prisma
- PostgreSQL
- Redis
- BullMQ
- Socket.io
- TanStack Query
- Zustand
- Tailwind CSS 4
- AWS S3

Điểm nổi bật
- Tự động ghi nhận khối lượng vàng & tính hao hụt qua từng công đoạn sản xuất — tách riêng kim loại và đá quý, theo đơn vị ngành trang sức Việt Nam.
- Quy trình sản xuất nhiều công đoạn dạng Kanban (Đúc → Đính đá → Đánh bóng → Mạ → QC) với phiếu bàn giao theo lô.
- Distributed locking (Redlock) chống race condition khi nhiều thợ cùng nhận việc.
- BOM snapshot bất biến — đơn hàng cũ giữ nguyên dữ liệu dù sản phẩm sau này bị đổi giá.
- RBAC chi tiết theo vai trò, kèm soft-delete và audit trail đầy đủ.
- Chat & thông báo real-time (Socket.io) giữa các bộ phận trong quy trình sản xuất.
Về dự án
Aurijin là hệ thống CRM/ERP đa tenant tôi xây cho ngành trang sức, từ tháng 12/2025 đến 6/2026, với vai trò CTO & Lead Engineer — tự thiết kế kiến trúc và trực tiếp code cả backend lẫn frontend.
Bài toán cốt lõi là quản lý vòng đời đơn hàng trang sức: từ lúc nhận đơn, qua nhiều công đoạn sản xuất (đúc, đính đá, đánh bóng, mạ, QC), đến khi giao hàng — trong khi vẫn truy vết chính xác khối lượng vàng hao hụt ở từng bước.
Về kỹ thuật, hệ thống dùng Redlock để khóa phân tán, tránh việc nhiều thợ cùng nhận một tác vụ; lưu snapshot BOM bất biến để đơn hàng cũ không bị ảnh hưởng khi giá sản phẩm thay đổi sau này; và có RBAC chi tiết kèm audit trail cho môi trường doanh nghiệp nhiều vai trò.
Frontend là monorepo Turborepo (pnpm) gồm 4 ứng dụng Next.js 16 + React 19 dùng chung package UI/types; backend là NestJS + Prisma + PostgreSQL, dùng Redis cho cache và Redlock, BullMQ cho background job, Socket.io cho chat/thông báo real-time.
Bạn có câu hỏi?
Tôi luôn sẵn sàng hợp tác với những dự án thú vị và sáng tạo!