Ý tưởng làm project cá nhân
Em thử xem qua dự án này nhé: https://github.com/Rani-Codes/sixth_degree
Dự án này được lấy cảm hứng từ bộ phim "Six Degrees of Separation" (1993). Ý tưởng của phim là mọi người trên Trái Đất đều có thể được kết nối với nhau chỉ qua tối đa sáu mối quan hệ xã hội.
Dự án này sử dụng thuật toán tìm kiếm theo chiều rộng (Breadth-First Search - BFS) để tìm đường đi ngắn nhất giữa những người khác nhau trong danh sách mẫu mà tác giả đã chọn.
Đây là dự án khá là hay, không đao to búa lớn nhưng kỹ thuật áp dụng khá là khó, thử xem nhé
Cách bảo vệ /api path cho website
Bạn chỉ mở port 443/80 của Nginx thôi để cho internet gọi được mỗi nginx thôi là được giống như này nè:
+----------------+
Internet 🌍 ---> 443/80| Nginx |----> FE (Next.js)
| (Reverse Proxy)|----> BE (API)
+----------------+
Docker file thì kiểu kiểu này:
version: '3.8'
services:
nginx:
image: nginx:latest
container_name: nginx_proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- fe
- be
networks:
- app-network
fe:
build: ./frontend
container_name: nextjs_app
expose:
- "3000" # chỉ cho phép trong network, không public
networks:
- app-network
be:
build: ./backend
container_name: backend_api
expose:
- "5000"
networks:
- app-network
networks:
app-network:
driver: bridge
File nginx đơn giản kiểu này:
server {
listen 80;
server_name _;
# ---------------------------
# FE: Next.js frontend
# ---------------------------
location / {
proxy_pass http://fe:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# ---------------------------
# BE: backend API
# ---------------------------
location /api/ {
proxy_pass http://be:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
NextJs: State management có cần thiết khi sử dụng AppRouter (SSR)
Theo em thì triển khai thêm thì nó chỉ khiến thêm rối code nếu dự án không thực sự cần.
Nếu anh dùng SSR cho hầu hết trang thì chắc là không có cần tương tác nhiều giữa các trang thì cứ để bình thường là được rồi anh
Các kĩ năng
Tổ chức
Chưa có tổ chức nào.