1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

31 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thực tập Nodejs Backend Developer
Tác giả Trần Duy Khôi
Người hướng dẫn Võ Ngọc Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ Phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 3 MB

Cấu trúc

  • 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)
      • 2.2.1. Tuần 1 (13)
      • 2.2.2. Tuần 2 (13)
      • 2.2.3. Tuần 3 (14)
      • 2.2.4. Tuần 4 (0)
      • 2.2.5. Tuần 5 (15)
      • 2.2.6. Tuần 6 (15)
      • 2.2.7. Tuần 7 (15)
      • 2.2.8. Tuần 8 (16)
      • 2.2.9. Tuần 9 (16)
      • 2.2.10. Tuần 10 (17)
      • 2.2.11. Tuần 11 (17)
      • 2.2.12. Tuần 12 (18)
    • 2.3. Công nghệ sử dụng (19)
      • 2.3.1. Typescript (19)
      • 2.3.2. NestJS (21)
      • 2.3.3. TypeORM (22)
      • 2.3.4. PostgreSQL (25)
  • CHƯƠNG 3: THAM GIA DỰ ÁN (28)
    • 3.1. CafeFinz (28)
    • 3.2. Investo (28)
    • 3.3. Rich Beauty Supply (28)
  • CHƯƠNG 4: TỔNG KẾT (29)
    • 4.1. Điểm mạnh (29)
    • 4.2. Điểm yếu (29)
    • 4.3. Chuẩn đạt được (29)
  • TÀI LIỆU THAM KHẢO (31)

Nội dung

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

GIỚI THIỆU CÔNG TY THỰC TẬP

Giới thiệu công ty Skydev

Hình 1.1 Logo công ty SkeDev

- Tên công ty: Công ty TNHH Skydev

- Địa chỉ: 19 Tố Hữu, Thủ Thiêm, Thành Phố Thủ Đức, Thành phố Hồ Chí Minh, Việt Nam

- Website công ty: https://skydev.vn/

- CEO của công ty: anh Võ Ngọc Duy

- 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 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 ngoà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ách cung 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ọ.

Sản phẩm công ty

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

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

- Giới thiệu chung: o CafeFinz được thành lập vào năm 2022 - với định hướng trở thành diễn đàn về đầu tư và là nơi kết nối, giao lưu các nhà đầu tư Việt. o Cafefinz tập trung và xoay quanh những nội dung, kiến tức và tin tức về đầu tư Thêm vào đó, đây còn là nơi mà bạn có thể trình bày những quan điểm cá nhân về đầu tư nói chung, và về đầu tư tài chính nói riêng. o Bên cạnh đó, đến với diễn đàn bạn cũng có quyền tự do tạo những 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ích thị trường nói chung. o Cafefinz còn mang đến nhiều thông tin đầu tư với nhiều lĩnh vực và 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 khoá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ên thị trường. o CafeFinz đã và đang tích cực cải tiến hệ thống và sẽ luôn đặt mục tiêu xây dựng nên một cộng đồng đầu tư lớn mạnh tại Việt Nam.

- Một số tính năng chính: o Đăng bài viết, chỉnh sửa bài viết, xóa bài viết… o Tham gia vào các nhóm trong hệ thống. o Tương tác với bài viết (thích, không thích, bình luận, chia sẻ,…). o Nhắn tin với bạn bè.

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

Hình 1.4 Website kênh tin tức Investo

- Giới thiệu chung: o Investo là trang thông tin tổng hợp, tập trung vào các tin tức mới và quan trọng có ảnh hưởng mạnh tới nền kinh tế toà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 được tổ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ị, o Sức mạnh của thông tin luôn được khẳng định trong mọi ngành nghề, 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. o Sứ mệnh: Mục tiêu dài hạn của Investo là sẽ trở thành trang thông tin đá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ễ 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.

- Một số tính năng chính: o Xem các bài báo tin tức về kinh tế, tài chính. 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, Ngân hàng,…). o Có những khóa học về chứng khoán, đầu tư, cổ phiếu,… o Xem thông tin thực về giá cổ phiếu, lịch chia cổ tức,… của các công ty trên thị trường.

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

- Em tham gia làm việc tại công ty bắt đầu từ ngày 13/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

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

- 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ổi meeting, mọi người sẽ báo cáo những công việc đã hoàn thành được trong ngày hôm trước, những khó khăn và những công việc sẽ làm trong ngày hôm nay cho anh PO của team.

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

NỘI DUNG THỰC TẬP

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

Nội dung: Giới thiệu về công ty, cách tổ chức, quy trình chấm cô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ển phầm mềm của công ty, nhiêm vụ hằng ngày và quy trình thực hiện…

Nghiên cứu kỹ thuật

- Nội dung: o Nghiên cứu và học công nghệ mới, bao gồm: NestJS, TypeORM, PostgreSQL,… o Được phổ cập về cách quản lý mã nguồn và git flow của công ty. o Giao tiếp, trò chuyện và tìm hiểu các thành viên khác trong công ty.

- Kết quả: o Nắm được sơ lược về những công nghệ và git flow mà công ty sử dụng. o Biết cách các team Front-end và Back-end sẽ giao tiếp với nhau.

- Nội dung: o Nghiên cứu và tìm hiểu thêm một số kỹ thuật liên quan khác như: Cron Job, Message Queue, Redis Cache, AWS S3… o Làm một demo nhỏ theo yêu cầu của người hướng dẫn.

- Kết quả: o Nắm được tổng quan và cách áp dụng cơ bản của các kỹ thuật trên. o Xây dựng được một demo server các api của một ứng dụng quản lý khu chăm sóc chó bằng framework NestJS, 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 nuôi hoặc bỏ nhận nuôi 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ó qua chuồng khác

 Api gửi mail xác nhận nhận nuôi chó

 Api đăng tải ảnh lên S3 của AWS

- Nội dung: 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ả: o Nắm được cấu trúc, cách tổ chức mã nguồn của một dự án Backend và phong cách code của công ty. o Một số chỗ của source code Backend của dự án Investor được refactor lại giúp clean và có hiệu năng cao hơn.

- Kết quả: o Nắm được tất cả các đối tượng trong Database của dự án, ánh xạ qua Entity và Website. o Những lỗi được QC báo cáo được sửa hoàn thành.

- Nội dung: o Xây dựng API cho chức năng gửi mail thông báo của dự án Cafefinz 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 Redis Database để đưa mail vào hàng đợi trong Redis rồi mới gửi theo từng lượt.

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

- Nội dung: o Tham gia vào một dự án mới của công ty: dự án E-Commerce có tên Rich Beauty Supply. o Dựng source code của dự án Rich Beauty. o Trao đổi, bàn bạc và đóng góp ý kiến trong việc xây dựng Database cho dự án Rich Beauty Supply.

- Kết quả: 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.

- Nội dung: o Tham gia xây dựng API cho một số module của dự án Rich Beauty Supply như: Users, Banners, Products, Reviews,… o Sửa một số lỗi do QC báo cáo lại.

- Kết quả: o Hoàn thành được các API cho một số module trên của dự án Rich Beauty. o Các lỗi do QC báo cáo được sửa hoàn thành.

- Nội dung: o Xây dựng API cho các module Bookings và Booking_Payments cho dự án Rich Beauty Supply. o Tích hợp cổng thanh toán bằng thẻ tín dụng thông qua nhà cung cấp dịch vụ Authorize.net

- Kết quả: o Hoàn thành được các API cho các module trên. o Tích hợp thành công cổng thanh toán thông qua Authorize.net và nhận webhooks trả về mỗi khi thanh toán thành công hoặc thất bại.

- Nội dung: 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” ( 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. o Sửa một số lỗi do QC báo cáo lại.

- Nội dung: o Xây dựng API cho tính năng “Trang các nhân công khai” của dự án 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 theo mức độ tương tác. o Tạo các API để Generate Sitemap của dự án Cafefinz phục vụ cho SEO.

- Kết quả: o Hoàn thành được các API cho tính năng “Trang cá nhân công khai” trong dự án Cafefinz. o Hoàn thành được các API để Generate Sitemap của dự án Cafefinz phục vụ cho SEO.

- Nội dung: o Xây dựng các API cho chức năng “Gửi hóa đơn thông qua email” trong dự án Rich Beauty Supply. o Xây dựng Middleware để phân quyền truy cập trong hệ thống của dự án Rich Beauty Supply (Admin, Sale, Customer). o Xây dựng các API giúp xuất file Excel về thông tin khách hàng và đơn đặt hàng trong khoảng thời gian nhất định. o Sửa một số lỗi do QC báo cáo lại.

Công nghệ sử dụng

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

- Ưu điểm: o Kiểu dữ liệu tĩnh (Static Typing): TypeScript sử dụng kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu trước khi chương trình chạy, tăng tính tin cậy và dễ dàng duy trì mã nguồn. o Tính mở rộng (Extensibility): TypeScript là một mở rộng 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 JavaScript hiện có. o Quản lý mã nguồn (Code Organization): TypeScript hỗ trợ module và namespace, giúp tổ chức mã nguồn một cách hiệu quả và làm cho mã trở nên dễ quản lý hơn. o Hỗ trợ ES6 và ES7: TypeScript hỗ trợ các tính năng mới từ ES6 và ES7, giúp người phát triển sử dụng những tiện ích mới của JavaScript. o Tooling tốt: TypeScript được tích hợp sẵn với nhiều IDEs 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.

- Nhược điểm: o Kiểu dữ liệu tĩnh (Static Typing): TypeScript sử dụng kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu trước khi chương trình chạy, tăng tính tin cậy và dễ dàng duy trì mã nguồn. o Tính mở rộng (Extensibility): TypeScript là một mở rộng của JavaScript, do đó nó hỗ trợ tất cả các tính năng của JavaScript và có thể sử dụng các thư viện JavaScript hiện có. o Quản lý mã nguồn (Code Organization): TypeScript hỗ trợ module và namespace, giúp tổ chức mã nguồn một cách hiệu quả và làm cho mã trở nên dễ quản lý hơn. o Hỗ trợ ES6 và ES7: TypeScript hỗ trợ các tính năng mới từ ES6 và ES7, giúp người phát triển sử dụng những tiện ích mới của JavaScript.

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

- Ưu điểm: o Kiến trúc module hóa (Modularity): NestJS sử dụng kiến trúc module hóa, giúp tạo ra các ứng dụng dễ dàng mở rộng và duy trì. o Dependency Injection: NestJS hỗ trợ Dependency Injection, giúp quản lý các thành phần và module trong ứng dụng một cách dễ dàng. o Kiểu dữ liệu tĩnh (Static Typing): Như TypeScript, NestJS sử dụng 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ậy của mã nguồn. o Middleware: Cung cấp middleware mạnh mẽ, giúp xử lý các yêu cầu trước khi chúng được xử lý bởi các route chính. o Support WebSockets: Hỗ trợ WebSockets cho các ứng dụng thời gian thực. o Testing dễ dàng: Có thư viện tích hợp sẵn cho việc kiểm thử (testing) của ứng dụng, giúp việc kiểm thử trở nên dễ dàng hơn. o Hỗ trợ GraphQL và RESTful API: NestJS hỗ trợ cả GraphQL và RESTful API, giúp lựa chọn linh hoạt cho phong cách phát triển API. o Document Generation: Có thể tự động tạo tài liệu API thông qua decorators.

- Nhược điểm: o Kiến trúc module hóa (Modularity): NestJS sử dụng kiến trúc module hóa, giúp tạo ra các ứng dụng dễ dàng mở rộng và duy trì. o Dependency Injection: NestJS hỗ trợ Dependency Injection, giúp quản lý các thành phần và module trong ứng dụng một cách dễ dàng. o Kiểu dữ liệu tĩnh (Static Typing): Như TypeScript, NestJS sử dụng 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ậy của mã nguồn. o Middleware: Cung cấp middleware mạnh mẽ, giúp xử lý các yêu cầu trước khi chúng được xử lý bởi các route chính. o Support WebSockets: Hỗ trợ WebSockets cho các ứng dụng thời gian thực. o Testing dễ dàng: Có thư viện tích hợp sẵn cho việc kiểm thử (testing) của ứng dụng, giúp việc kiểm thử trở nên dễ dàng hơn. o Hỗ trợ GraphQL và RESTful API: NestJS hỗ trợ cả GraphQL và RESTful API, giúp lựa chọn linh hoạt cho phong cách phát triển API. o Document Generation: Có thể tự động tạo tài liệu API thông qua decorators.

- Ưu điểm: o Kiểu dữ liệu tĩnh: Với sự tích hợp chặt chẽ với TypeScript, TypeORM sử dụng kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu trước khi chương trình chạy. o Quản lý cơ sở dữ liệu: TypeORM tự động sinh ra câu lệnh SQL dựa trên các mô hình đối tượng (entity) được định nghĩa, giúp đơn giản hóa quá trình tương tác với cơ sở dữ liệu. o Tích hợp sẵn với TypeScript và JavaScript: Cung cấp trải nghiệm mượt mà cho cả TypeScript và JavaScript. o Quản lý mối quan hệ: Hỗ trợ quản lý mối quan hệ giữa các bảng trong cơ sở dữ liệu. o Hỗ trợ nhiều loại cơ sở dữ liệu: TypeORM có thể sử dụng với nhiều loại cơ sở dữ liệu khác nhau, tạo ra tính linh hoạt trong việc lựa chọn cơ sở dữ liệu. o Tính năng migration tốt: TypeORM hỗ trợ các công cụ migration giúp quản lý các thay đổi cơ sở dữ liệu theo thời gian. o Active development và cộng đồng lớn: TypeORM có một cộng đồng lớn và đang được phát triển tích cực, giúp đảm bảo sự ổn định và cập nhật liên tục.

- Nhược điểm: o Hiệu suất: So với việc sử dụng các truy vấn SQL tùy chỉnh, sự trừu tượng hóa của TypeORM có thể dẫn đến hiệu suất không mong muốn trong một số trường hợp. o Cú pháp phức tạp: Sự trừu tượng hóa có thể làm cho cú pháp của các truy vấn trở nên phức tạp và khó đọc, đặc biệt là đối với những người mới làm quen với TypeORM. o Học hỏi ban đầu: Việc học cách sử dụng TypeORM và các khái niệm ORM nói chung có thể là một thách thức đối với người mới sử dụng hoặc có kinh nghiệm ít về ORM. o Dung lượng tệp tin: Việc sử dụng TypeORM có thể làm tăng kích thước tệp tin của ứng dụng. o Khả năng tích hợp với một số cơ sở dữ liệu: Mặc dù TypeORM hỗ trợ nhiều loại cơ sở dữ liệu, nhưng có thể có một số cơ sở dữ liệu mà nó không tương thích hoặc tích hợp không tốt. o Thiếu mô-đun tự động load các quan hệ: Trong một số trường hợp, bạn có thể phải chủ động thực hiện việc load các quan hệ, điều này có thể dẫn đến việc thực hiện nhiều truy vấn không hiệu quả. o Cộng đồng nhỏ hơn so với một số ORM khác: So với một số thư viện ORM khác, cộng đồng xung quanh TypeORM có thể nhỏ hơn, điều này có thể ảnh hưởng đến sự hỗ trợ và tài nguyên có sẵn. o Cần sự cẩn thận trong quản lý tình trạng của đối tượng: Do sự trừu tượng hóa, việc quản lý tình trạng của đối tượng có thể trở nên phức tạp và đòi hỏi sự cẩn thận để tránh các vấn đề như lazy loading không mong muốn.

PostgreSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở và mạnh mẽ Khi kết hợp với TypeScript và TypeORM, bạn có thể tận dụng sức mạnh của cả ba công nghệ này để phát triển ứng dụng có cơ sở dữ liệu PostgreSQL một cách hiệu quả.

- Ưu điểm: o Kiểu dữ liệu tĩnh: TypeScript cung cấp kiểu dữ liệu tĩnh, giúp phát hiện lỗi kiểu sớm trong quá trình phát triển Khi sử dụng TypeORM với TypeScript, tính kiểu tĩnh mở rộng đến cả cơ sở dữ liệu, giúp bảo vệ tính toàn vẹn của dữ liệu. o TypeORM và PostgreSQL hoạt động tốt với nhau: TypeORM cung cấp sự trừu tượng hóa khi làm việc với cơ sở dữ liệu, giúp bạn tập trung vào việc phát triển và giảm bớt công đoạn quản lý SQL. o Quản lý mối quan hệ: TypeORM hỗ trợ mô hình hóa mối quan hệ giữa các bảng trong cơ sở dữ liệu PostgreSQL, giúp tạo ra cấu trúc dữ liệu phức tạp một cách dễ dàng. o Tích hợp với tính năng mới của PostgreSQL: PostgreSQL thường cập nhật các phiên bản mới với nhiều tính năng mạnh mẽ Sự kết hợp này giúp bạn tận dụng các tính năng mới này một cách thuận tiện. o Sự linh hoạt của PostgreSQL: PostgreSQL là một hệ quản trị cơ sở dữ liệu độc lập, có thể chạy trên nhiều hệ điều hành và hỗ trợ nhiều loại dữ liệu, từ số nguyên đến dữ liệu JSON. o Tích hợp với công cụ quản lý PostgreSQL: Có nhiều công cụ quản lý cơ sở dữ liệu PostgreSQL phổ biến, giúp bạn dễ dàng theo dõi và quản lý dữ liệu.

- Nhược điểm: o Khả năng mở rộng ngang (Horizontal Scalability): PostgreSQL có khả năng mở rộng ngang tốt, nhưng so với một số hệ quản trị cơ sở dữ liệu NoSQL, nó có thể gặp khó khăn khi cần mở rộng quy mô lớn. o Hiệu suất ghi (Write Performance): Trong một số trường hợp, hiệu suất ghi của PostgreSQL có thể thấp hơn so với một số hệ quản trị cơ sở dữ liệu khác, đặc biệt là khi có nhiều ghi đồng thời. o Chấp nhận sự phức tạp (Complexity): Mặc dù PostgreSQL cung cấp nhiều tính năng mạnh mẽ, nhưng điều này có thể làm cho hệ thống trở nên phức tạp đối với những dự án nhỏ hoặc không cần sự phức tạp lớn. o Học hỏi ban đầu (Learning Curve): Đối với người mới sử dụng, việc học cách sử dụng và cấu hình PostgreSQL có thể đôi khi là một thách thức. o Dung lượng của ổ đĩa (Disk Space): Các cấu trúc dữ liệu phức tạp và các tính năng như index có thể tạo ra một lượng lớn dữ liệu và ảnh o Hiệu suất một số truy vấn phức tạp: Trong một số tình huống, hiệu suất của một số truy vấn phức tạp có thể không như mong đợi, và cần phải được tinh chỉnh một cách cẩn thận. o Chưa có hỗ trợ JSON tốt như một số hệ quản trị cơ sở dữ liệuNoSQL: Mặc dù PostgreSQL hỗ trợ các loại dữ liệu phức tạp nhưJSON, nhưng trong một số trường hợp, các hệ quản trị cơ sở dữ liệuNoSQL có thể có hỗ trợ tốt hơn cho công việc này.

THAM GIA DỰ ÁN

CafeFinz

- Thực hiện và đóng góp: o Xây dựng và phát triển tính năng gửi email thông báo cho người dùng. o Xây dựng và phát triển tính năng thống kê cho hệ thống CMS.

- Kết quả: o Dự án hoàn thành xong phase 2 của giai đoạn phát triển và chuẩn bị chuyển qua phase 3. o Sản phẩm được bàn giao cho khách hàng và đã đem vào sử dụng thực tế.

Investo

- Thực hiện và đóng góp: o Xây dựng và phát triển hệ thống từ động cập nhật thông tin công ty, giá cổ phiếu và thông tin tài chính thông qua Polygon và Airtable.

- Kết quả: o Chức năng được đưa vào vận hành và sử dụng trong thực tế. o Phát triển thêm một số tính năng khác trong tương lai.

Rich Beauty Supply

- Thực hiện và đóng góp: o Xây dựng và phát triển một số module như đơn đặt hàng, thông tin tài khoản ngân hàng, người dùng, sản phẩm,… o Xây dựng và tích hợp cổng thanh toán vào ứng dụng thông qua dịch vụ Authorize.net

TỔNG KẾT

Điểm mạnh

- Có tinh thần giữ nội quy và kỷ luật.

- Kiến thức nền tảng tốt.

- Tư duy giải quyết vấn đề ổn.

- Có góc nhìn vấn đề từ cả lập trình viên và khách hàng.

Điểm yếu

- Còn hơi rụt rè trong giao tiếp và trao đổi.

- Cần cải thiện khả năng làm việc nhóm.

Chuẩn đạt được

Goal Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án

G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại doanh nghiệp

G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề

G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bàyG6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh

Ngày đăng: 15/05/2024, 09:23

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Website mạng xã hội Cafefinz - báo cáo thực tập nodejs backend developer
Hình 1.2 Website mạng xã hội Cafefinz (Trang 9)
Hình 1.3 Ứng dụng di động mạng xã hội Cafefinz - báo cáo thực tập nodejs backend developer
Hình 1.3 Ứng dụng di động mạng xã hội Cafefinz (Trang 9)
Hình 1.4 Website kênh tin tức Investo - báo cáo thực tập nodejs backend developer
Hình 1.4 Website kênh tin tức Investo (Trang 11)
Hình 2.5 Typecript - báo cáo thực tập nodejs backend developer
Hình 2.5 Typecript (Trang 19)
Hình 2.7 TypeORM - báo cáo thực tập nodejs backend developer
Hình 2.7 TypeORM (Trang 23)
w