- Nodejs: 10.16.0 (every version >= 8.* is OK)
- Mysql: 5.7.25
- LCL: Local environment
- DEV: Development environment
- STG: Staging environment
- PRO: Production environment
Các file cấu hình với các môi trường tương ứng nằm ở thư mục env.
Các câu lệnh nếu không chỉ rõ là môi trường nào thì sẽ mặc định là LCL
-
Bước 1: Clone git repository về máy:
git clone https://gitlab-new.bap.jp/BAPSoftware/outsource/s0089.tokenibo/token-ibo-backend.git -
Bước 2: Cài đặt các packages:
npm install -
Bước 3: Trong thư mục env:
-
Copy file
LCL.env.example -
Đổi tên thành
LCL.envChú ý thay đổi các thông số connect database , redis ở local, ...
-
-
Bước 4: Chạy server
- Chạy ở chế độ thường:
npm start - Chạy ở chế độ theo dõi cập nhật:
npm run watch
- Chạy ở chế độ thường:
-
Ở Bước 4 trong phần Cài đặt, qúa trình database migration sẽ tiến hành chạy tự động.
-
Nếu không có database tự động tạo ra, hãy tạo một database trước với tên ibo ở trình quản lý MySQL (ví dụ: MySQL WorkBench) và chạy lại Bước 4 trong phần Cài đặt.
-
Để tiến hành seeding dữ liệu (tạo dữ liệu mẫu có sẵn): - Chạy lệnh
npm run seed(mặc định làLCL) - Với các môi trường khác chạy lệnh sauNODE_ENV=DEV npm run seed(môi trườngDEV)Tham khảo danh sách các môi trường ở mục trên.
- Để tạo API docs, chạy lệnh
./gendoc.sh - Để xem API docs, mở thư mục theo đường dẫn:
doc/apidoc/index.html
Sequelize là ORM dùng trong trường hợp sử dụng SQL. Xem document của Sequelize. Trong project này, Sequelize được cấu hình sẵn để đọc các biến môi trường tương ứng.
Để chạy các lệnh của Sequelize, chạy file sequelizer.sh và cấp các thông số tương tự như sequelize-cli
Ví dụ:
./sequelizer db:migrate./sequelizer migration:generate --env=DEVNếu --env không được cung cấp thì mặc định là--env=LCL
- Bước 1: chạy lệnh
npm run build, thư mụcdistđược tạo ra. - Bước 2: chạy lệnh
NODE_ENV=DEV pm2 start dist/app.jsTrong trường hợppm2chưa được cài đặt: chạy lệnhnpm install pm2 -g
