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

Đề tài lập trình outsource với node js

18 5 0

Đ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

Nội dung

Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM THỰC TẬP TỐT NGHIỆP ĐỀ TÀI Lập trình Outsource với Node js Công ty t[.]

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: Lập trình Outsource với Node.js Công ty thực tập: Vitalify Asia Co., Ltd Lớp: SE501.N11 Sinh viên thực hiện: Nguyễn Phạm Duy Bằng – 19520397 TP Hồ Chí Minh, ngày 24 tháng 12 năm 2022 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp NHẬN XÉT (Của giảng viên) Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP I Giới thiệu chung công ty II Tầm nhìn phát triển III Thơng tin đơn vị làm việc 6  CHƯƠNG 2: NỘI DUNG THỰC TẬP I Quá trình thực tập Tìm hiểu công ty đơn vị Nghiên cứu kỹ thuật a Nghiên cứu công cụ làm việc b NestJS api server c NodeJS batch Tham gia dự án II Lịch làm việc  8 8 10 11 12  CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN I Giới thiệu II Thực III Kế hoạch Giai đoạn làm quen dự án Giai đoạn tiếp nhận yêu cầu 14 14 14 14 14 15 CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC QUA ĐỢT THỰC TẬP I Kết thu II Các điểm yếu thân III Cảm nhận công ty 15 15 16 16 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp LỜI NÓI ĐẦU Ngày nay, việc phát triển phần mềm outsource phận thiếu ngành công nghiệp phần mềm Cùng với xu phát triển giới, phần mềm liên tục tạo số lượng phần mềm cần bảo trì tăng lên nhanh chóng Đó tiền đề cho ngành cơng nghiệp outsource giới nói chung Việt Nam nói riêng phát triển mạnh mẽ, để đáp ứng nhu cầu cho công ty hàng đầu xây dựng phần mềm khắp giới Sau ba năm học tập trường, nhận thấy thân thích tìm hiểu nhiều cơng nghệ, tiếp xúc với nhiều mơi trường, văn hố làm việc nên em chọn hướng lập trình outsource để thực tập Bên cạnh đó, em mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm việc mơi trường chun nghiệp Vì vậy, em định chọn Công Ty TNHH Vitalify Asia - công ty mạnh mảng outsource trở thành công ty thực tập Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp LỜI CẢM ƠN Em xin trân trọng gửi lời cảm ơn ban giám hiệu quý thầy cô trường Đại học Công nghệ Thông tin trực tiếp giảng dạy cho em kiến thức tảng quan trọng lập trình tạo mơi trường học tập thuận lợi để em bổ sung kiến thức, phát triển thân Em xin gửi lời cảm ơn quý Công Ty TNHH Vitalify Asia tạo điều kiện cho em thực tập công ty Nhờ vào hỗ trợ nhiệt tình anh/chị trainer, thời gian 12 tuần ngắn ngủi em tự hồn thành tốt công việc giao Em xin chân thành cảm ơn! Nguyễn Phạm Duy Bằng TP Hồ Chí Minh, ngày 24 tháng 12 năm 2022 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp DANH MỤC CÁC CỤM TỪ VIẾT TẮT TNHH EDL : : Trách nhiệm Hữu hạn Enterprise Development Labo Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP I - Giới thiệu chung công ty Tên đơn vị: CÔNG TY TNHH VITALIFY Á CHÂU Địa chỉ: 224A-224B Điện Biên Phủ, Phường Võ Thị Sáu, Quận 3, Thành phố Hồ Chí Minh, Việt Nam Trang web: https://www.vitalify.asia/ Email: info@vitalify.asia Điện thoại:  +84 (028) 3932 6293 Thời gian làm việc: Thứ đến thứ 6: 08h30 - 17h35 Hình 1: Logo Cơng ty TNHH Vitalify Asia II Tầm nhìn phát triển Kể từ thành lập vào năm 2008, Vitalify Asia tham gia phát triển phần mềm tập trung vào thiết bị di động để đạt tầm nhìn “Delivering happiness through the Internet” Với mục tiêu trở thành nhóm chuyên nghiệp thực cạnh tranh phạm vi tồn cầu, lập trình viên hay quản lý mở rộng vai trò phạm vi trách nhiệm cá nhân cam kết cung cấp giá trị cho người dùng với cấu trúc chia nhóm nhỏ ưu tú Bây giờ, sau 10 năm sau thành lập, Vitalify Asia thử thách với giai đoạn để nâng cao giá trị lực Việt Nam Để đạt mục tiêu này, Vitalify Asia tiếp tục nỗ lực cải tiến hàng ngày III Thông tin đơn vị làm việc Công ty Vitalify Asia chia thành nhiều đơn vị làm việc (gọi labo) Em phân công làm việc “Enterprise Development Labo” (viết tắt EDL) Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp Enterprise Development Labo đơn vị chuyên lập trình outsource, liên kết với đối tác Nhật để phát triển phần mềm hỗ trợ doanh nghiệp Đối với dự án nhận được, nhóm lập trình viên cụ thể phân công từ danh sách thành viên EDL Thơng thường nhóm có cấu trúc sau: - Quản lý dự án (Project manager): Quản lý tiến độ chung, phân cơng vai trị cụ thể cho thành viên - Quản lý quy trình nghiệp vụ (Business process management): Liên lạc với khách hàng để nắm vững quy trình hoạt động ứng dụng, yêu cầu cụ thể khách hàng triển khai lại cho thành viên khác - Trưởng nhóm code (Code leader): Xác định cụ thể phần cần code, giao việc cho developer review code - Lập trình viên: (Developer): Thực code kiểm thử Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp CHƯƠNG 2: NỘI DUNG THỰC TẬP Chương trình thực tập kéo dài 12 tuần, nhằm mục đích giúp thực tập sinh làm quen với kỷ luật cơng ty, hiểu rõ quy trình làm việc tự hồn thành cơng việc giao Bên cạnh đó, tập giúp cơng ty đánh giá kỹ trình độ thực tập sinh để phân cơng cơng việc cách hợp lý I Quá trình thực tập Tìm hiểu cơng ty đơn vị Thời gian: ngày Nội dung: - Giới thiệu công ty, cách tổ chức công ty: Được nghe người phụ trách giới thiệu chung công ty, môi trường, lối làm việc, nguyên tắc - Giới thiệu cấu nhân sự, tầm nhìn, định hướng phát triển công ty - Được tư vấn hướng phát triển dự định thân - Được phân công thực tập đơn vị EDL - Giới thiệu lịch sử, mạnh định hướng EDL - Giới thiệu mơ hình nhóm EDL Kết quả: Hiểu rõ công ty, hướng phát triển thân Biết cụ thể vị trí nhóm, đặt mục tiêu phấn đấu Nghiên cứu kỹ thuật a Nghiên cứu công cụ làm việc Thời gian: ngày Nội dung: - Học cách sử dụng công cụ, ứng dụng sử dụng công ty Kết quả: Nguyễn Phạm Duy Bằng - Thực tập tốt nghiệp Công cụ quản lý mã nguồn: Tuỳ theo dự án mà cơng ty sử dụng GitHub, GitLab Bitbucket Đã sử dụng thao tác commit code, tạo pull request công cụ - ChatWork: Công ty sử dụng ChatWork để giao tiếp nội phân công task Đã sử dụng chức như: gửi tin nhắn, đính kèm tệp, đọc task giao, đánh hồn thành task, - HRM: Cơng ty sử dụng phần mềm nội HRM (web/android/ios) để quản lý hành Đã sử dụng chức như: điểm danh, báo nghỉ, xem nội quy, đặt lịch phịng họp, - Zoom: Cơng ty sử dụng Zoom để họp định kỳ hàng tuần Đã sử dụng thao tác tham gia họp, bật/tắt camera/micro, - NodeJS: Cài đặt đầy đủ mơi trường để lập trình NodeJS - VSCode: Cài đặt đầy đủ mơi trường để lập trình NodeJS VSCode b NestJS api server Thời gian: 10 ngày (2 tuần) Nội dung tìm hiểu: Hình 2: Logo NestJS - NestJS framework Node.js mã nguồn mở, mở rộng, linh hoạt, tiến để xây dựng ứng dụng phía server Nó sử dụng TypeScript linh hoạt để xây dựng hệ thống phụ trợ hấp dẫn đòi hỏi nhiều yêu cầu - NestJS có phần quan trọng sau: Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp + Module: Mỗi ứng dụng có module Module điểm bắt đầu thứ Trong module mô tả thành phần cần thiết để hoạt động Một module import module khác Khi ứng dụng chạy root module chạy Và khởi tạo module import thành phần khai báo + Controller: Là đơn vị làm việc module Xử lý việc routing lấy liệu từ request Khi module khởi tạo xong controller tạo đưa vào trạng thái lắng nghe request + Provider: Là chế truyền parameter cần thiết để controller hoạt động Sau parameter khởi tạo xong truyền vào controller thơng qua giao thức khai báo sẵn (gọi provider) Kết quả: - Tạo api server đơn giản, bao gồm CRUD có chế xác thực - Vừa có phiên sử dụng MySQL Server vừa có phiên dùng MongoDB - Vừa có phiên dùng REST API vừa có phiên dùng GraphQL - Viết đầy đủ unit test - Viết đầy đủ end-to-end test - Đã hoàn thành thời hạn c NodeJS batch Thời gian: ngày (1 tuần) Nội dung: - Thông thường, ứng dụng có cơng việc cần thực cách định kỳ như: xoá session cũ, tổng kết báo cáo, dựng xếp hạng, lọc liệu rác, gửi thông báo định kỳ, Các công việc thường thực loại chương trình khơng có giao diện, thực mục đích cụ 10 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp thể với đầu cụ thể Ở EDL, viết chương trình NodeJS thực cơng việc chương trình gọi NodeJS batch - Một batch cần phải đảm bảo tiêu chí như: + Hoạt động độc lập với ứng dụng: không bị ảnh hưởng ứng dụng crash + Hạn chế dùng chung tài nguyên với ứng dụng chính: Nếu ứng dụng batch dùng tài ngun batch gọi, ứng dụng bị block Cần tránh + Hiệu tối đa: Có loại batch gọi vài lần giây Do đó, ảnh hưởng hiệu lên hệ thống lớn Cần đặc biệt ý + Ln ln có chế lưu phục hồi lỗi xảy ra: Một batch đến vài phút để thực hiện, tỉ lệ xảy lỗi vật lý khoảng thời gian không nhỏ Nên cần xử lý trường hợp batch bị ngừng chừng Kết quả: - Viết batch xóa session đăng nhập phút mà chưa sử dụng - Sử dụng Docker NodeMon để tạo chế hoạt động định kỳ - Đã hoàn thành thời hạn Tham gia dự án Sau tháng training thực hành, thực tập sinh nắm kiến thức NodeJS NestJS Trong thời gian lại, thực tập sinh phân cơng vào nhóm dự án thực tế để áp dụng kiến thức học Chi tiết đồ án nói phần sau 11 Nguyễn Phạm Duy Bằng II Thực tập tốt nghiệp Lịch làm việc  Tuần Tuần Nội dung thực tập - Tuần 2, - Tuần - Tuần Tuần 6, 7, - Người hướng dẫn Mentor: Võ Ngọc Tìm hiểu cơng ty, cách tổ chức công ty Trọng Làm quen với đơn vị làm việc, tìm hiểu mơ hình vai trị thành viên nhóm làm việc Làm quen với công cụ làm việc cơng ty Làm quen với quy trình làm việc outsource Tìm hiểu coding rule Mentor: Võ Ngọc Tìm hiểu Node.js Trọng Tạo api server đơn giản với Node.js Nest.js Tạo unit test end-to-end test Được mentor review code rút kinh nghiệm Mentor: Võ Ngọc Tạo chương trình Node.js hoạt động định Trọng kỳ đơn giản Tạo unit test end-to-end test Được mentor review code rút kinh nghiệm Được tham gia vào nhóm trải nghiệm làm Manager: Đồn việc thực tế với dự án Thanh Tùng Tìm hiểu dự án Mentor: Lê Đức Cài đặt môi trường làm việc cho dự án Thắng học quy định riêng dự án Tìm hiểu thực việc thiết kế test case từ Manager: Đoàn danh sách yêu cầu Thanh Tùng Thực test case giao Mentor: Nguyễn Viết báo cáo tìm bug Mai trung 12 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp - Được review rút kinh nghiệm Tuần - Được phân công giải vấn đề cụ thể Thiết kế cách giải vấn đề Xác định phạm vi ảnh hưởng viết báo cáo Manager: Đoàn Thanh Tùng Mentor: Nguyễn Mai trung Tuần 10, 11, 12 - Thực code theo thiết kế Viết unit test Tạo Pull Request Được review rút kinh nghiệm Manager: Đoàn Thanh Tùng Mentor: Nguyễn Mai trung 13 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN I Giới thiệu Tên dự án: KShop Management Mục tiêu dự án: Xây dựng môi trường back-end hỗ trợ cho ứng dụng bán lẻ hàng hoá Bao gồm api server (NestJS) chương trình quản lý tác vụ định kỳ (NodeJS) Đây dự án outsource với đơn vị công ty khác Nội dung bao gồm nâng cấp thêm số tính II Thực - Project Manager: Đồn Thanh Tùng - Code Leader: Nguyễn Mai trung - Developer: + Lê Đức Thắng + Nguyễn Thuận Thiên + Nguyễn Văn Hà + Nguyễn Văn Toàn + Nguyễn Trung Nguyên + Nguyễn Phạm Duy Bằng III Kế hoạch Giai đoạn làm quen dự án Thời gian: 20 ngày (4 tuần) Nội dung: - Nghe phổ biến quy tắc làm việc phía đối tác số quy định riêng cho dự án - Tìm hiểu thực việc thiết kế test case từ danh sách yêu cầu - Thực test case giao 14 Nguyễn Phạm Duy Bằng - Thực tập tốt nghiệp Viết báo cáo tìm bug Kết quả: - Nhờ vào việc thiết kế test case, em có hội phân tích yêu cầu, thảo luận với người mục tiêu dự án hình dung rõ ràng dự án - Khi thực kiểm thử, em có hội khám phá ứng dụng biết vùng tác động code - Hoàn thành hạn nhiệm vụ giao Giai đoạn tiếp nhận yêu cầu Thời gian: 20 ngày (4 tuần) Nội dung: - Nhận source code tìm hiểu cách hệ thống vận hành - Chuyển chức import/export khách hàng từ CSV sang Excel - Sửa số lỗi hệ thống - Viết unit test end-to-end test Kết quả: - Hoàn thành tốt yêu cầu giao CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC QUA ĐỢT THỰC TẬP I Kết thu - Được tiếp xúc với NestJS, MongoDB, Docker, GraphQL - Trau dồi nhiều kiến thức Back-end - Được làm việc môi trường kỷ luật cao Rèn luyện tính tỉ mỉ cẩn thận - Nâng cao khả research - Học cách tiếp cận dự án cách nhanh hiệu thông qua test case - Nâng cao kỹ làm việc nhóm 15 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp - Biết cách trình bày ý tưởng giải đáp thắc mắc yêu cầu - Biết cách trình bày câu hỏi rõ ràng qua văn II Các điểm yếu thân - Cần tích lũy thêm kinh nghiệm, nâng cao khả optimize code query - Cần cởi mở việc tiếp nhận ý kiến nhận xét người III Cảm nhận công ty - Cơ sở vật chất tốt, gần gũi với tự nhiên, khơng khí lành - Công ty cho phép làm việc nhà (work from home), phù hợp để vừa học vừa làm - Cơng ty có định hướng rõ ràng, có tham vọng động lực phát triển - Thành viên EDL hồ đồng, cởi mở, tích cực việc dẫn dắt người 16 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp DANH MỤC TÀI LIỆU THAM KHẢO [1]  https://www.vitalify.asia/ [2] https://stackoverflow.com/ [3] https://nestjs.org/ 17 ... gia họp, bật/tắt camera/micro, - NodeJS: Cài đặt đầy đủ mơi trường để lập trình NodeJS - VSCode: Cài đặt đầy đủ mơi trường để lập trình NodeJS VSCode b NestJS api server Thời gian: 10 ngày (2... Ngọc Tìm hiểu Node. js Trọng Tạo api server đơn giản với Node. js Nest .js Tạo unit test end-to-end test Được mentor review code rút kinh nghiệm Mentor: Võ Ngọc Tạo chương trình Node. js hoạt động... loại chương trình khơng có giao diện, thực mục đích cụ 10 Nguyễn Phạm Duy Bằng Thực tập tốt nghiệp thể với đầu cụ thể Ở EDL, viết chương trình NodeJS thực cơng việc chương trình gọi NodeJS batch

Ngày đăng: 01/02/2023, 21:23

w