Skip to main content

Công nghệ

builderx_api là backend lõi cung cấp dữ liệu cho Storefront. Service được viết trên Phoenix Framework (Elixir) và phục vụ REST API, real-time channel, cũng như background worker cho toàn bộ sản phẩm — dữ liệu shop, đơn hàng, tài khoản, các tích hợp và search.

Khả năng chính

  • REST API cho sản phẩm, đơn hàng, tài khoản, blog, các tích hợp đối tác,...
  • Real-time qua Phoenix Channels (WebSocket).
  • Hỗ trợ đa ngôn ngữ, multi-site, multi-tenant.
  • Tích hợp Elasticsearch, Redis, RabbitMQ, Kafka, S3, SMTP.
  • Phân quyền theo role với OAuth và JWT.
  • Sẵn sàng CI/CD: Docker, Ansible playbook và Makefile ở cấp project.

Yêu cầu hệ thống

Thành phầnPhiên bản
Elixir≥ 1.12.2
Erlang / OTP≥ 24
Node.js≥ 14 (cho assets/)
PostgreSQLBản Citus của Postgres (khuyến nghị)
Docker · Docker ComposeBản stable mới nhất (khuyến nghị)
Redis · RabbitMQ · ElasticsearchBắt buộc nếu muốn dùng đầy đủ tính năng

Cấu trúc repository

builderx_api/
├── lib/
│ ├── builderx_api/ # Logic nghiệp vụ — sản phẩm, đơn hàng, tài khoản, tích hợp
│ └── builderx_api_web/ # Web layer — controller, router, channel, view, plug
├── assets/ # Frontend assets (Vue 3, Ant Design Vue, Webpack)
├── priv/repo/ # Migration và seed
├── test/ # Test suite
├── ansible/ # Playbook deploy
├── mix.exs
└── Makefile # Shortcut dev, build, deploy

Lệnh Makefile

LệnhTác dụng
make buildRebuild Docker image.
make appChạy app trong Docker.
make servicesBật các service phụ trợ (Redis, RabbitMQ,...).
make migrateChạy migration database bên trong container.
make deployDeploy lên production qua Ansible.
make devChạy ở chế độ dev với hot reload.
make bashMở shell trong container đang chạy.