2026-04-02 11:16:18 +07:00
2026-03-26 13:47:46 +07:00
2026-04-02 11:16:18 +07:00
2026-03-31 13:48:10 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-03-27 10:46:06 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00
2026-04-02 11:16:18 +07:00

🔐 AccManager

Hệ thống quản lý tài khoản và ứng dụng tập trung, cho phép quản lý người dùng, danh mục ứng dụng, và gán tài khoản truy cập.

Tính năng

  • Xác thực người dùng (login/register)
  • Quản lý người dùng và vai trò (admin/guest)
  • Quản lý danh mục ứng dụng
  • Gán tài khoản cho mỗi người dùng/ứng dụng
  • Mã hóa mật khẩu bằng bcrypt (bcrypt hashing)
  • Migration tự động: plain text → bcrypt
  • Audit log truy cập

🛠️ Công nghệ

Thành phần Công nghệ
Backend Node.js 20 + Express.js
Database SQL Server 2022
Frontend HTML5 + Tailwind CSS + Vanilla JS
Container Docker + Docker Compose
Reverse Proxy Nginx Proxy Manager
Password Hashing bcrypt

📦 Cấu trúc dự án

\\ ├── backend/ │ └── server.js # Main server (Express + mssql) ├── public/ # Static files (HTML, CSS, JS) │ ├── index.html │ ├── pages/ # Login, dashboard, etc. │ ├── js/ │ │ └── app.js # Frontend logic │ └── css/ │ ├── main.css # Tailwind compiled │ └── tailwind.css # Tailwind source ├── database/ │ └── setup.sql # Database schema ├── Dockerfile # Docker image config ├── docker-compose.yml # Local development ├── docker-compose.image.yml # Production deployment ├── .env # Environment variables ├── deploy-dev.ps1 # Build & push script ├── deploy-server.sh # Pull & deploy script └── DEPLOYMENT_GUIDE.md # Detailed deployment guide (Vietnamese) \\

🚀 Khởi động nhanh

Phát triển local

\\ash npm install npm start \\

Truy cập: http://localhost:3000

Chạy bằng Docker

\\ash docker compose build docker compose up -d \\

🐳 Triển khai với Docker

Máy DEV: Build & Push

\\powershell cd D:\RoboticsSource\AccManager .\deploy-dev.ps1 -Tag "1.0.1" \\

Máy Server: Deploy

\\ash ssh robotics@172.20.235.176 cd ~/accmanager bash deploy-server.sh \\

Xem chi tiết: DEPLOYMENT_GUIDE.md (Tiếng Việt)

🔐 Bảo mật

  • Mật khẩu được mã hóa bằng bcrypt (12 rounds)
  • Migration tự động từ plain text sang bcrypt
  • Không lưu credential trong source control
  • Sử dụng .env để cấu hình biến sensitive
  • SQL Server connection sử dụng SSL/TLS tùy chọn

Lưu ý:

  • Thay đổi mật khẩu admin mặc định (\dmin/\dmin) ngay sau khi đăng nhập lần đầu
  • Không commit .env\ thực tế lên git

📚 API Endpoints

Authentication

  • POST /api/auth/login\ - Đăng nhập
  • POST /api/auth/register\ - Đăng ký

Users (Admin)

  • GET /api/users\ - Lấy danh sách người dùng
  • GET /api/users/:id\ - Lấy thông tin người dùng
  • POST /api/users\ - Tạo người dùng mới
  • PUT /api/users/:id\ - Cập nhật người dùng
  • DELETE /api/users/:id\ - Xóa người dùng

Applications

  • GET /api/applications\ - Danh sách ứng dụng
  • POST /api/applications\ - Tạo ứng dụng

Accounts

  • GET /api/accounts/user/:userId\ - Tài khoản của người dùng
  • POST /api/accounts\ - Tạo tài khoản

🔧 Cấu hình

.env (Development)

\\env NODE_ENV=production APP_PORT=3000 DOCKER_IMAGE=toiiiiday/accmanager:1.0.1

Container

PORT=3000

Database

DB_SERVER=172.20.235.176 DB_USER=sa DB_PASSWORD=robotics@2022 DB_NAME=AccManager DB_ENCRYPT=false DB_TRUST_CERTIFICATE=true DB_CONNECT_TIMEOUT=30000

Security

BCRYPT_ROUNDS=12 \\

🌐 Triển khai Public với Domain

Xem: DEPLOYMENT_GUIDE.md - Mục "Public Domain qua Nginx Proxy Manager"

Tóm tắt:

  1. Trỏ DNS A record về IP Nginx Proxy Manager
  2. Tạo Proxy Host trong NPM: forward 3000 → domain
  3. Enable Let's Encrypt SSL + Force SSL

📝 Tài liệu

📦 Build & Run Scripts

Windows PowerShell (DEV): \\powershell .\deploy-dev.ps1 -Tag "1.0.1" \\

Linux/Mac (SERVER): \\ash bash deploy-server.sh \\

🆘 Troubleshoot

Container không start? \\ash docker compose -f docker-compose.image.yml logs --tail=100 accmanager \\

Image pull fail?

Database connection fail?

  • Kiểm tra .env (DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME)
  • Ping server: \ping 172.20.235.176\

📄 License

MIT


Phiên bản: 2.0.0
Cập nhật: Tháng 4 năm 2026
Trạng thái: Production-ready

Description
No description provided
Readme 2 MiB
Languages
JavaScript 80.8%
HTML 16.3%
TSQL 2.9%