- 📦 Container: Docker, Docker Compose
- 🛣 Gateway: Kong Getway
- 🛠 Backend: Fastify(Node.js)
- 🗃 Database: Postgres
Dự án đã được containerized vào trong docker nên việc setup các thành phần cơ bản là không cần thiết nếu bạn chỉ là nguời sử dụng, thỏa mãn điều kiện tiên quết là chúng ta sẽ chạy được dự án
- Docker đã được cài đặt
- Nếu chưa cài đặt docker: mở trang chủ của docker và cài đặt phiên bản tương thích với hệ điều hành đang sử dụng
- file
.env
tồn tại ở thư mục gốc của dự án và cùng cấp với tập tindocker-compose.yml
Tại thư mục gốc của dự án, mở terminal và nhập lệnh để build và khởi chạy container:
docker compose up --build
Để chắc chắn mỗi khi pull code mới nhất về và update thành công hay gỡ bỏ container bằng câu lệnh:
docker compose down
Sau đó mới tiến hành build lại:
docker compose up --build
Nếu như bạn gặp phải trường hợp có vấn đề về dữ liệu database. Thì hãy reset database theo các bước sau:
- tắt docker-compose:
docker compose down
- xóa volume của docker hiện giờ đi:
docker volume rm kong-gateway-microservice_pgdata
- khởi chạy lại container:
docker compose up --build
Hiện giờ dự án đang có hai services tích hợp vào gateway. Kong Gate way được thiết đặt theo hướng DBLESS nên là cổng 8001 sẽ chỉ có thể lấy được dữ liệu setting service và router chứ không thể gửi dữ liệu mới vào. Bạn muốn xem cài đặt thì hãy truy cập vào tệp tin compose/kong/declarative/kong.yml
để biết thêm chi tiết nhé.
Danh sách các api đã viết tương ứng với từng service sẽ được liệt kê khi bạn truy cập vào hai địa chỉ sau(Sau khi khởi chạy docker):