Tải bản đầy đủ (.docx) (31 trang)

báo cáo thực tập nodejs backend developer

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (899.37 KB, 31 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI MỞ ĐẦU</b>

Trong thời kỳ cách mạng công nghiệp 4.0, sự bùng nổ của côngnghệ thông tin nói chung và ngành Công nghệ phần mềm nóiriêng đang định hình một bức tranh mới cho sự phát triển toàndiện của xã hội. Công nghệ Web, là bản ngã của sự tiến bộ, khơngchỉ đáp ứng mà cịn vượt qua mọi nhu cầu của con người, từ việcthương mại đến việc chia sẻ thông tin và tạo ra các trải nghiệmgiao tiếp tiên tiến.

Với hơn 1.5 tỷ trang web hiện tại, không có dấu hiệu nào cho thấysự giảm thiểu trong nhu cầu tạo ra những trang web mới, khiếncho thách thức của việc xây dựng một sản phẩm web đạt chấtlượng cao trở nên ngày càng phức tạp. Để nổi bật trong mảng này,không chỉ về hình thức mà còn về nội dung, Full stack webdeveloper trở thành sự lựa chọn đúng đắn cho những người muốnđồng hành cùng sự đổi mới và sáng tạo trong ngành công nghiệpweb.

Sau những năm học tập tại đại học, khao khát áp dụng kiến thứcđã nắm bắt và tích lũy kinh nghiệm thực tế, quyết định tham giavào môi trường chuyên nghiệp là một bước quan trọng. Công tySkydev đã được chọn là điểm đến lý tưởng, mang đến khơng chỉ sựchun sâu mà cịn là cơ hội để thử thách bản thân và đưa ranhững đóng góp đáng giá trong sự phát triển không ngừng củangành công nghiệp web.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN</b>

Em xin trân trọng gửi lời cảm ơn anh Võ Ngọc Duy đã tạo điều kiện cho em cơ hộiđược thực tập tại công ty. Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tìnhcủa anh Duy, em đã tiếp thu những kiến thức quan trọng để có thể tham gia một dựán thực tế.

Chân thành cảm ơn các anh chị trong team Backend Developer đã bỏ ra nhiều thờigian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quenmơi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trìnhvà tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thờigian qua.

Em cũng xin cảm ơn thầy cô trong khoa Cơng nghệ phần mềm đã nhiệt tình hỗ trợ,tạo điều kiện em làm báo cáo này.

TP. HCM, tháng 12 năm 2023Trần Duy Khôi

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>MỤC LỤC</b>

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP...8

1.1. Giới thiệu công ty Skydev...8

1.2. Sản phẩm công ty...9

1.2.1. Mạng xã hội Cafefinz...9

1.2.2. Kênh tin tức kinh tế, tài chính Investo...11

1.3. Lịch làm việc khi thực tập tại công ty...12

CHƯƠNG 2: NỘI DUNG THỰC TẬP...13

2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty...13

2.2. Nghiên cứu kỹ thuật...13

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC HÌNH ẢNH</b>

Hình 1.1 Logo cơng ty SkeDev...8

Hình 1.2 Website mạng xã hội Cafefinz...9

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP</b>

<b>1.1. Giới thiệu cơng ty Skydev</b>

<i>Hình 1.1 Logo cơng ty SkeDev</i>

<b>- Tên công ty: Công ty TNHH Skydev- Năm thành lập: 2021</b>

<b>- Địa chỉ: 19 Tố Hữu, Thủ Thiêm, Thành Phố Thủ Đức, Thành phố Hồ Chí </b>

Minh, Việt Nam

<b>- Website cơng ty: </b> CEO của công ty: anh Võ Ngọc Duy</b>

<b>- Skydev là công ty phần mềm Việt Nam luôn thấu hiểu nhu cầu của khách </b>

hàng và thị trường. Với kinh nghiệm làm việc trong lĩnh vực phát triển bất động sản và kinh doanh nước ngồi, chúng tơi giúp các đối tác/khách hàng của mình tiết kiệm thời gian, quản lý hoạt động kinh doanh của họ bằng cáchcung cấp cho họ Ứng dụng Web & Di động Hệ thống PropTech đầy đủ. Sản phẩm của chúng tơi có thể hỗ trợ các nhà phát triển và đại lý bất động sản quản lý tài sản, doanh số bán hàng của họ cũng như tổ chức các sự kiện cho khách hàng của họ.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>1.2. Sản phẩm cơng ty</b>

<b>1.2.1. Mạng xã hội Cafefinz</b>

<i>Hình 1.2 Website mạng xã hội Cafefinz</i>

<i>Hình 1.3 Ứng dụng di động mạng xã hội Cafefinz</i>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>- Giới thiệu chung:</b>

<b>o CafeFinz được thành lập vào năm 2022 - với định hướng trở thành </b>

diễn đàn về đầu tư và là nơi kết nối, giao lưu các nhà đầu tư Việt.

<b>o Cafefinz tập trung và xoay quanh những nội dung, kiến tức và tin tức </b>

về đầu tư. Thêm vào đó, đây cịn là nơi mà bạn có thể trình bày nhữngquan điểm cá nhân về đầu tư nói chung, và về đầu tư tài chính nói riêng.

<b>o Bên cạnh đó, đến với diễn đàn bạn cũng có quyền tự do tạo những </b>

chủ đề và bình luận những vấn đề về đầu tư, tham gia hỏi/đáp, tham khảo kiến thức, tham gia phân tích thị trường, các chủ đề về phân tíchthị trường nói chung.

<b>o Cafefinz cịn mang đến nhiều thơng tin đầu tư với nhiều lĩnh vực và </b>

chuyên mục khác nhau như quỹ đầu tư, bất động sản, phân tích kỹ thuật, hàng hóa, chứng khốn, vàng, dầu… Đây hứa hẹn sẽ là nơi mà nhà đầu tư có thể cập nhật ngay các xu hướng và tin tức mới nhất trênthị trường.

<b>o CafeFinz đã và đang tích cực cải tiến hệ thống và sẽ luôn đặt mục tiêu</b>

xây dựng nên một cộng đồng đầu tư lớn mạnh tại Việt Nam.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>1.2.2. Kênh tin tức kinh tế, tài chính Investo</b>

<i>Hình 1.4 Website kênh tin tức Investo</i>

<b>- Giới thiệu chung:</b>

<b>o Investo là trang thông tin tổng hợp, tập trung vào các tin tức mới và </b>

quan trọng có ảnh hưởng mạnh tới nền kinh tế tồn cầu nói chung và thị trường tài chính nói chung. Nguồn thông tin của Investo luôn đượctổng hợp mỗi ngày và theo sát các vấn đề nóng hổi với mọi lĩnh vực, trải dài từ chứng khoán, ngoại hối, … tới tiền ảo, kinh tế - chính trị,...

<b>o Sức mạnh của thông tin luôn được khẳng định trong mọi ngành nghề, </b>

và đối với một ngành đặc thù như tài chính thì việc nắm giữ được thơng tin là nắm giữ được sức mạnh. Nắm được xu thế và nhu cầu về một nguồn tin liên tục và đáng tin cậy, Investo được tạo ra bởi đội ngũ đầy nhiệt huyết, yêu thích sáng tạo và năng động.

<b>o Sứ mệnh: Mục tiêu dài hạn của Investo là sẽ trở thành trang thông tin </b>

đáng tin cậy đồng thời là nơi ghé thăm thường xuyên của cộng đồng giao dịch tài chính. Ngoài ra, trong tương lai Investo cũng hướng tới việc giao lưu và trao đổi giữa tất cả nhà đầu tư và giao dịch ở mọi cấpđộ trong và ngoài nước. Trở thành cầu nối để các nhà đầu tư có thể dễ

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

dàng tham gia thị trường và đạt lợi nhuận cũng là một mục tiêu quan trọng của Investo.

<b>- Một số tính năng chính:</b>

<b>o Xem các bài báo tin tức về kinh tế, tài chính.</b>

<b>o Phân loại tin tức theo từng lĩnh vực cụ thể (Điền điện tử, Vàng – Dầu,</b>

Ngân hàng,…).

<b>o Có những khóa học về chứng khốn, đầu tư, cổ phiếu,…</b>

<b>o Xem thơng tin thực về giá cổ phiếu, lịch chia cổ tức,… của các công </b>

ty trên thị trường.

<b>1.3. Lịch làm việc khi thực tập tại công ty</b>

<b>-</b> Em tham gia làm việc tại công ty bắt đầu từ ngày13/07/2023 tới 13/10/2023, các ngày làm việc trong tuần làtừ thứ 2 tới thứ 6.

<b>-</b> Công việc hằng ngày bắt đầu từ lúc 8h30 đến 17h30. Thờigian nghỉ trưa khoảng 1 tiếng 30 phút từ 12h-13h30.

<b>-</b> Công ty Skydev vận hành theo mơ hình Agile Scrum nên sẽtổ chức Daily Meeting vào 9h30 hằng ngày. Trong buổimeeting, mọi người sẽ báo cáo những công việc đã hoànthành được trong ngày hơm trước, những khó khăn và nhữngcơng việc sẽ làm trong ngày hôm nay cho anh PO của team.

<b>-</b> Môi trường giao tiếp: tiếng Việt.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>CHƯƠNG 2: NỘI DUNG THỰC TẬP</b>

<b>2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty</b>

Thời gian: 1 ngày

Nội dung: Giới thiệu về công ty, cách tổ chức, quy trình chấmcơng, họp nội bộ và khách hàng, văn hóa làm việc của cơng ty…Kết quả: Hiểu được cơ bản về cách hoạt động, quy trình phát triểnphầm mềm của công ty, nhiêm vụ hằng ngày và quy trình thựchiện…

<b>2.2. Nghiên cứu kỹ thuật2.2.1. Tuần 1</b>

<b>o Giao tiếp, trị chuyện và tìm hiểu các thành viên khác</b>

trong cơng ty.

<b>o Nghiên cứu và tìm hiểu thêm một số kỹ thuật liên quan</b>

khác như: Cron Job, Message Queue, Redis Cache, AWSS3…

<b>o Làm một demo nhỏ theo yêu cầu của người hướng dẫn.</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>-</b> Kết quả:

<b>o Nắm được tổng quan và cách áp dụng cơ bản của các</b>

kỹ thuật trên.

<b>o Xây dựng được một demo server các api của một ứng</b>

dụng quản lý khu chăm sóc chó bằng frameworkNestJS, bao gồm:

 Api đăng ký và đăng nhập

 Api xem, thêm, xóa, sửa tài khoản cho Admin Api xem, thêm, xóa, sửa thơng tin chó

 Api nhận ni hoặc bỏ nhận ni chó Api xem, thêm, xóa, sửa chuồng

 Api thêm chó vào chuồng hoặc cập nhật chó quachuồng khác

 Api gửi mail xác nhận nhận ni chó Api đăng tải ảnh lên S3 của AWS

<b>2.2.3. Tuần 3- Nội dung:</b>

<b>o Tìm hiểu source code của một số dự án mà công ty đã và đang làm.o Refactor lại một số chỗ trong source code Backend của dự án Investo.- Kết quả: </b>

<b>o Nắm được cấu trúc, cách tổ chức mã nguồn của một dự án Backend</b>

và phong cách code của công ty.

<b>o Một số chỗ của source code Backend của dự án Investor được refactor</b>

lại giúp clean và có hiệu năng cao hơn.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>o Xây dựng API cho chức năng gửi mail thông báo của dự án Cafefinz</b>

với điều kiện:

 Gửi nhiều mail với nhiều nội dung khác nhau để đính kèm mãcho phép người dùng hủy đăng ký nhận mail.

 Do số lượng mail gửi đi lớn nên phải set-up một RedisDatabase để đưa mail vào hàng đợi trong Redis rồi mới gửitheo từng lượt.

<b>- Kết quả: Chức năng được hoàn thành tốt.</b>

<b>2.2.6. Tuần 6- Nội dung:</b>

<b>o Tham gia vào một dự án mới của công ty: dự án E-Commerce có tên</b>

Rich Beauty Supply.

<b>o Dựng source code của dự án Rich Beauty.</b>

<b>o Trao đổi, bàn bạc và đóng góp ý kiến trong việc xây dựng Database</b>

cho dự án Rich Beauty Supply.

<b>- Kết quả: </b>

<b>o Source code của dự án Rich Beauty Supply được dựng xong.o Database của dự án Rich Beauty Supply được tạo hoàn thành.</b>

<b>2.2.7. Tuần 7- Nội dung:</b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>o Tham gia xây dựng API cho một số module của dự án Rich Beauty</b>

Supply như: Users, Banners, Products, Reviews,…

<b>o Sửa một số lỗi do QC báo cáo lại.- Kết quả:</b>

<b>o Hoàn thành được các API cho một số module trên của dự án Rich</b>

<b>o Các lỗi do QC báo cáo được sửa hoàn thành.</b>

<b>2.2.8. Tuần 8- Nội dung:</b>

<b>o Xây dựng API cho các module Bookings và Booking_Payments cho</b>

dự án Rich Beauty Supply.

<b>o Tích hợp cổng thanh tốn bằng thẻ tín dụng thơng qua nhà cung cấp</b>

dịch vụ Authorize.net

<b>- Kết quả:</b>

<b>o Hoàn thành được các API cho các module trên.</b>

<b>o Tích hợp thành cơng cổng thanh tốn thơng qua Authorize.net và</b>

nhận webhooks trả về mỗi khi thanh tốn thành cơng hoặc thất bại.

<b>2.2.9. Tuần 9- Nội dung:</b>

<b>o Xây dựng API cho tính năng tạo, sửa, xóa “Bài viết có dạng khảo sát”</b>

( gồm câu hỏi, ảnh, nhiều lựa chọn và cho người dùng bình chọn,…)trong dự án Cafefinz.

<b>o Sửa một số lỗi do QC báo cáo lại.</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>2.2.10. Tuần 10- Nội dung:</b>

<b>o Xây dựng API cho tính năng “Trang các nhân công khai” của dự án</b>

Cafefinz, bao gồm:

 Lấy thông tin cơ bản của tài khoản.

 Lấy thơng tin các nhóm tài khoản đã tham gia. Lấy thông tin bài viết mà tài khoản đã đăng tài. Lấy thơng tin bình luận mà tài khoản đã đăng tải.

 Sắp xếp bài viết và bình luận mà tải khoản đã đăng tải theomức độ tương tác.

<b>o Tạo các API để Generate Sitemap của dự án Cafefinz phục vụ cho</b>

<b>o Xây dựng các API cho chức năng “Gửi hóa đơn thơng</b>

qua email” trong dự án Rich Beauty Supply.

<b>o Xây dựng Middleware để phân quyền truy cập trong hệ</b>

thống của dự án Rich Beauty Supply (Admin, Sale,Customer).

<b>o Xây dựng các API giúp xuất file Excel về thông tin</b>

khách hàng và đơn đặt hàng trong khoảng thời giannhất định.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>o Sửa một số lỗi do QC báo cáo lại.-</b> Kết quả:

<b>o Hoàn thành được các API cho tính năng “Gửi hóa đơn thơng</b>

qua email” trong dự án Rich Beauty Supply.

<b>o Hoàn thành được Middleware để phân quyền truy cập trong</b>

hệ thống của dự án Rich Beauty Supply.

<b>o Hoàn thành các API giúp xuất file Excel về thông tin khách</b>

hàng và đơn đặt hàng trong khoảng thời gian nhất định.

<b>o Các lỗi do QC báo cáo được sửa hồn thành.</b>

<b>2.2.12. Tuần 12- Nội dung:</b>

<b>o Tích hợp API từ Polygon (dịch vụ cung cấp API cho các dữ liệu về</b>

giá cổ phiếu, thơng tin tài chính, lịch chia cổ tức của các công ty trênthế giới) để đồng bộ dữ liệu trong dự án Investo, bao gồm:

 Kéo dữ liệu về từ Polygon về và lưu vào Database và Airtable. Hằng ngày hoặc hằng tuần vào thời gian cố định kéo dữ liệu

(giá cổ phiếu, lịch chia cổ tức) từ Polygon để cập nhật vàoDatabase và Airtable.

 Website lấy dữ liệu từ Airtable thông qua API để hiển thị.

<b>o Sửa một số lỗi do QC báo cáo lại.- Kết quả:</b>

<b>o Hồn thành được các API cho tính năng “Đồng bộ dữ liệu từ</b>

Polygon” trong dự án Investo.

<b>o Các lỗi do QC báo cáo được sửa hoàn thành.</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>2.3. Công nghệ sử dụng:2.3.1. Typescript:</b>

<b>-</b> Tổng quan:

TypeScript là một ngơn ngữ lập trình mã nguồn mở được pháttriển bởi Microsoft, là một siêu set của JavaScript. Nó cung cấp cáctính năng mạnh mẽ để phát triển ứng dụng JavaScript lớn và phứctạp hơn, giúp giảm rủi ro và tăng tính maintainable của mã nguồn.

<i>Hình 2.5 Typecript</i>

<b>-</b> Ưu điểm:

<b>o Kiểu dữ liệu tĩnh (Static Typing): TypeScript sử dụng</b>

kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu trước khichương trình chạy, tăng tính tin cậy và dễ dàng duy trìmã nguồn.

<b>o Tính mở rộng (Extensibility): TypeScript là một mở rộng</b>

của JavaScript, do đó nó hỗ trợ tất cả các tính năng củaJavaScript và có thể sử dụng các thư viện JavaScripthiện có.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>o Quản lý mã nguồn (Code Organization): TypeScript hỗ</b>

trợ module và namespace, giúp tổ chức mã nguồn mộtcách hiệu quả và làm cho mã trở nên dễ quản lý hơn.

<b>o Hỗ trợ ES6 và ES7: TypeScript hỗ trợ các tính năng mới</b>

từ ES6 và ES7, giúp người phát triển sử dụng nhữngtiện ích mới của JavaScript.

<b>o Tooling tốt: TypeScript được tích hợp sẵn với nhiều IDEs</b>

như Visual Studio Code, Sublime Text, và các công cụbuild như Webpack, giúp tăng hiệu suất làm việc.

<b>-</b> Nhược điểm:

<b>o Kiểu dữ liệu tĩnh (Static Typing): TypeScript sử dụng</b>

kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu trước khichương trình chạy, tăng tính tin cậy và dễ dàng duy trìmã nguồn.

<b>o Tính mở rộng (Extensibility): TypeScript là một mở rộng</b>

của JavaScript, do đó nó hỗ trợ tất cả các tính năng củaJavaScript và có thể sử dụng các thư viện JavaScripthiện có.

<b>o Quản lý mã nguồn (Code Organization): TypeScript hỗ</b>

trợ module và namespace, giúp tổ chức mã nguồn mộtcách hiệu quả và làm cho mã trở nên dễ quản lý hơn.

<b>o Hỗ trợ ES6 và ES7: TypeScript hỗ trợ các tính năng mới</b>

từ ES6 và ES7, giúp người phát triển sử dụng nhữngtiện ích mới của JavaScript.

<b>o Tooling tốt: TypeScript được tích hợp sẵn với nhiều IDEs</b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>2.3.2. NestJS:- Tổng quan:</b>

NestJS là một framework server-side (phía server) trên Node.js, được xây dựngdựa trên TypeScript và heavily được lấy cảm hứng từ Angular. Nó cung cấp mộtcách hiệu quả để xây dựng ứng dụng server-side, đặc biệt là cho các ứng dụng webvà API.

<i>Hình 2.6 NestJS</i>

<b>- Ưu điểm:</b>

<b>o Kiến trúc module hóa (Modularity): NestJS sử dụng kiến trúc module</b>

hóa, giúp tạo ra các ứng dụng dễ dàng mở rộng và duy trì.

<b>o Dependency Injection: NestJS hỗ trợ Dependency Injection, giúp</b>

quản lý các thành phần và module trong ứng dụng một cách dễ dàng.

<b>o Kiểu dữ liệu tĩnh (Static Typing): Như TypeScript, NestJS sử dụng</b>

kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu sớm và tăng tính đáng tin cậycủa mã nguồn.

<b>o Middleware: Cung cấp middleware mạnh mẽ, giúp xử lý các yêu cầu</b>

trước khi chúng được xử lý bởi các route chính.

<b>o Support WebSockets: Hỗ trợ WebSockets cho các ứng dụng thời gian</b>

<b>o Testing dễ dàng: Có thư viện tích hợp sẵn cho việc kiểm thử (testing)</b>

của ứng dụng, giúp việc kiểm thử trở nên dễ dàng hơn.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>o Hỗ trợ GraphQL và RESTful API: NestJS hỗ trợ cả GraphQL và</b>

RESTful API, giúp lựa chọn linh hoạt cho phong cách phát triển API.

<b>o Document Generation: Có thể tự động tạo tài liệu API thông qua</b>

<b>- Nhược điểm:</b>

<b>o Kiến trúc module hóa (Modularity): NestJS sử dụng kiến trúc module</b>

hóa, giúp tạo ra các ứng dụng dễ dàng mở rộng và duy trì.

<b>o Dependency Injection: NestJS hỗ trợ Dependency Injection, giúp</b>

quản lý các thành phần và module trong ứng dụng một cách dễ dàng.

<b>o Kiểu dữ liệu tĩnh (Static Typing): Như TypeScript, NestJS sử dụng</b>

kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu sớm và tăng tính đáng tin cậycủa mã nguồn.

<b>o Middleware: Cung cấp middleware mạnh mẽ, giúp xử lý các yêu cầu</b>

trước khi chúng được xử lý bởi các route chính.

<b>o Support WebSockets: Hỗ trợ WebSockets cho các ứng dụng thời gian</b>

<b>o Testing dễ dàng: Có thư viện tích hợp sẵn cho việc kiểm thử (testing)</b>

của ứng dụng, giúp việc kiểm thử trở nên dễ dàng hơn.

<b>o Hỗ trợ GraphQL và RESTful API: NestJS hỗ trợ cả GraphQL và</b>

RESTful API, giúp lựa chọn linh hoạt cho phong cách phát triển API.

<b>o Document Generation: Có thể tự động tạo tài liệu API thông qua</b>

<b>2.3.3. TypeORM:</b>

</div>

×