Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,74 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH BACKEND VỚI METEOR Công ty thực tập : Công ty TNHH Giải pháp Phần mềm TISOHA Người phụ trách : Đỗ Công Bá Thực tập sinh : Lê Thành Luân TP Hồ Chí Minh, tháng 06 năm 2023 LỜI MỞ ĐẦU Trong cách mạng công nghiệp 4.0, công nghệ thông tin nói chung ngành Cơng nghệ phần mềm nói riêng ln nhân tố đóng vai trị quan trọng q trình phát triển xã hội Cơng nghệ Web, hay công nghệ sản xuất trang web phục vụ hầu hết nhu cầu người từ bán hàng, dạy học đến thông tin liên lạc, Hiện có đến 1.7 tỷ trang web, nhu cầu tạo trang web chưa có dấu hiệu giảm Do đó, trang web muốn nhiều người sử dụng phải đáp ứng yếu tố hình thức nội dung Làm để sản phẩm tạo đạt chất lượng cao hai yếu tố làm đội ngũ phát triển website cần phải suy nghĩ đau đầu Để thử thách thân ngành công nghiệp web, em lựa chọn thực tập với vị trí Kỹ sư phần mềm định hướng cho việc học tập nghiên cứu sâu quy trình sản xuất web Bên cạnh thời gian học tập trường, 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, em có dự định thực tập kì Vì vậy, em định chọn Công ty TNHH Giải pháp Phần mềm TISOHA nơi giúp em thực dự định Võ Hoàng Đức Khoa Lê Thành Luân LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH Giải pháp Phần mềm TISOHA tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình anh trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để thành thạo việc lập trình ứng dụng web Đặc biệt cảm ơn anh Võ Hoàng Đức Khoa training JavaScript hướng dẫn, hỗ trợ em nhiều từ vấn đề kỹ thuật đến khó khăn cơng việc Cảm ơn anh Trương Gia Thạch anh Dương Hoài Nam, giúp đỡ cho em tận tình khó khăn việc làm quen với môi trường Cảm ơn anh Đỗ Cơng Bá tạo văn hóa cơng ty lành mạnh, chuyên nghiệp, đầy động giúp em hoàn thành thực tập có thêm niềm đam mê, nhiệt huyết với lập trình Web Cũng xin cảm ơn thầy 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 Lê Thành Luân TpHCM, ngày 30 tháng 06 năm 2023 Võ Hoàng Đức Khoa Lê Thành Luân NHẬN XÉT CỦA KHOA Võ Hoàng Đức Khoa Lê Thành Luân MỤC LỤC MỤC LỤC CHƯƠNG GIỚI THIỆU CÔNG TY THỰC TẬP .6 GIỚI THIỆU CÔNG TY TNHH GIẢI PHÁP PHẦN MỀM TISOHA SẢN PHẨM CỦA CÔNG TY CHƯƠNG 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 NGHIÊN CỨU KỸ THUẬT 2.1 Các công cụ làm việc 2.2 Tìm hiểu ngôn ngữ JavaScript 2.3 Nghiên cứu tài liệu kỹ thuật sở liệu MongoDB .10 2.4 Nghiên cứu tài liệu kỹ thuật framework Meteor .12 2.5 Thực hành xây dựng ứng dụng Iyyara 14 THỰC HIỆN PROJECT .15 LỊCH LÀM VIỆC .15 CHƯƠNG CHI TIẾT VỀ PROJECT .19 GIỚI THIỆU VỀ PROJECT 19 CÁC CÔNG VIỆC ĐÃ LÀM 19 2.1 Cài đặt, chạy thử dự án 19 2.2 Chức quản lý gói đăng ký sử dụng ứng dụng 19 2.3 Chức quản lý nhận phần thưởng 20 2.4 Chức quản lý phân khúc người dùng .20 2.5 Chức quản lý sử dụng mã giảm giá 21 2.6 Chức đăng ký/hủy đăng ký gói quản lý đăng ký .21 2.7 Chức tự động cập nhật trạng thái đăng ký, phần thưởng, mã giảm giá .21 Võ Hoàng Đức Khoa Lê Thành Luân 2.8 Chức tốn đăng ký gói 22 2.9 Một số công việc khác 22 KẾT QUẢ 22 TÀI LIỆU THAM KHẢO 23 TỔNG KẾT 24 Võ Hoàng Đức Khoa Lê Thành Luân Chương Giới thiệu công ty thực tập Giới thiệu Công ty TNHH Giải pháp Phần mềm TISOHA Công ty TNHH Giải pháp phần mềm TISOHA doanh nghiệp thành lập vào 10/2020 đến hoạt động gần năm Trong thời gian hoạt động, công ty nhận cung cấp dịch vụ cho nhiều khách hàng Mỹ, Malta, Úc Singapore nơi tập trung phát triển ứng dụng web lập trình ứng dụng cho điện thoại thông minh TISOHA đem lại cho khách hàng dịch vụ lập trình, gia cơng phần mềm uy tín chất lượng với độ an tồn cao, khả mở rộng tiết kiệm chi phí cho khách hàng Sản phẩm công ty Sản phẩm công ty chủ yếu dự án outsource giáo dục, giải trí, thương mại Võ Hồng Đức Khoa Lê Thành Luân Công ty mang đến cho khách hàng dịch vụ phát triển, gia cơng phần mềm hồn hảo từ hỗ trợ, tư vấn, bảo trì đến phát triển ứng dụng, phần mềm cách toàn diện Các sản phẩm giải pháp công ty triển khai đảm bảo mức độ an tồn cao, có khả mở rộng, mang lại hài lòng chất lượng thỏa mãn chi phí Võ Hồng Đức Khoa Lê Thành Luân Chương Nội dung thực tập Đợt thực tập với chủ đề “Đào tạo kỹ sư back-end toàn diện” kéo dài từ 1/4 đến 30/6 nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình backend, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển web chuyên nghiệp Tìm hiểu cơng ty kỹ công ty 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 công ty, trình thành lập phát triển (như nhắc đến trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức cơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email cơng việc, cách ước tính thời gian hồn thành công việc, sử dụng phần mềm chuyên nghiệp cho công việc,… Kết quả: Hiểu thêm công ty TISOHA, q trình thành lập phát triển Có thêm kỹ việc sử dụng email, phần mềm cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian: ngày Nội dung: Tìm hiểu cơng cụ sử dụng trình làm việc Trong thời gian này, người phụ trách hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho công việc sau Một số phần mềm số Võ Hồng Đức Khoa Lê Thành Luân Slack – Phần mềm chat, report công việc hàng ngày công ty, Jira – Ứng dụng theo dõi quản lý quy trình phát triển phần mềm, Redmine – Công cụ quản lý theo dõi, kiểm soát vấn đề dự án, Visual Studio Code – Trình chỉnh sửa mã nguồn, Git – Hệ thống quản lý phiên mã nguồn phân tán, Gitlab – Phần mềm quản lý kho mã nguồn Git,… Thực hiện: Thực hành sử dụng phần mềm nêu Kết quả: Làm quen sử dụng phần mềm nêu 2.2 Tìm hiểu ngơn ngữ JavaScript Thời gian: ngày Nội dung: Tham gia khóa đào tạo “Cấp tốc JavaScript ngày”: JavaScript ngơn ngữ lập trình phổ biến sử dụng rộng rãi phát triển web Ban đầu, tạo để thực tác vụ phía máy khách trình duyệt web, sử dụng cho việc phát triển ứng dụng di động phía máy chủ Để nắm kiến thức JavaScript, em tham gia khóa học “Cấp tốc JavaScript ngày” công ty hướng dẫn anh Võ Hoàng Đức Khoa với lộ trình sau: - Ngày 1: Học cú pháp JavaScript, bao gồm biến, kiểu liệu, toán tử cấu trúc câu lệnh điều kiện vịng lặp Tìm hiểu hàm cách khai báo, gọi truyền tham số cho hàm Thực hành với tập cú pháp hàm để làm quen với việc viết mã JavaScript đơn giản - Ngày 2: Học mảng phương thức liên quan, bao gồm truy cập phần tử, thêm, xóa xếp mảng Tìm hiểu đối tượng cách tạo đối tượng JavaScript Võ Hoàng Đức Khoa Lê Thành Luân 10 Thực hành với tập liên quan đến mảng đối tượng để nắm vững khái niệm - Ngày 3: Học kiện xử lý kiện JavaScript, bao gồm việc tạo hàm xử lý kiện gán chúng cho phần tử HTML Tìm hiểu DOM (Document Object Model) cách truy cập, thay đổi nội dung thuộc tính phần tử HTML JavaScript Thực hành với tập liên quan đến xử lý kiện DOM để hiểu rõ tương tác với trang web - Ngày 4: Học AJAX cách sử dụng Fetch API để gửi nhận liệu từ máy chủ Tìm hiểu JSON (JavaScript Object Notation) cách làm việc với liệu JSON JavaScript Thực hành với tập liên quan đến AJAX JSON để làm quen với việc tương tác với dịch vụ web Thực hiện: - Tham gia đầy đủ buổi training công ty - Nghiên cứu, kết hợp thực hành tài liệu mà công ty cung cấp Kết quả: - Nắm kiến thức JavaScript - Có thể tạo ứng dụng TodoApp đơn giản JavaScript 2.3 Nghiên cứu tài liệu kỹ thuật sở liệu MongoDB Thời gian: ngày (1 tuần) Nội dung: Tham gia khóa đào tạo cơng ty kiến thức MongoDB: Võ Hoàng Đức Khoa Lê Thành Luân 11 MongoDB hệ quản trị sở liệu phi quan hệ (NoSQL) mã nguồn mở linh hoạt Nó thiết kế để lưu trữ xử lý liệu phi cấu trúc, cho phép lưu trữ liệu dạng tài liệu kiểu JSON gọi BSON (Binary JSON) Để nắm vững kiến thức framework này, em tham gia khóa học “Làm chủ MongoDB 10 ngày” với hỗ trợ hướng dẫn đến từ anh Võ Hồng Đức Khoa với lộ trình sau: - Ngày 1: Giới thiệu MongoDB Tìm hiểu cấu trúc tính MongoDB Cài đặt MongoDB máy tính tạo sở liệu - Ngày 2: Câu truy vấn tìm kiếm liệu Học cách thực câu truy vấn MongoDB Tìm hiểu cách tìm kiếm lọc liệu theo tiêu chí khác - Ngày 3: Quản lý liệu Nắm vững cách thêm, sửa xóa liệu MongoDB Tìm hiểu tốn tử cập nhật liệu đảm bảo tính quán liệu - Ngày 4: Cấu trúc liệu phức tạp Học cách làm việc với cấu trúc liệu phức tạp mảng nhúng Tìm hiểu mục tối ưu hóa truy vấn liệu - Ngày 5: Tích hợp triển khai Tìm hiểu cách kết hợp MongoDB với ứng dụng web Võ Hoàng Đức Khoa Lê Thành Luân 12 Thực q trình triển khai MongoDB lên mơi trường production Thực hiện: - Tham gia đầy đủ buổi trainning - Làm tập thực hành từ hướng dẫn tài liệu - Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết quả: - Hiểu khái niệm MongoDB - Tạo sở liệu cho TodoApp MongoDB 2.4 Nghiên cứu tài liệu kỹ thuật Meteor Thời gian: 10 ngày (2 tuần) Nội dung: Tham gia khóa đào tạo công ty sử dụng framework Meteor lập trình giao diện ứng dụng web: Meteor framework JavaScript hỗ trợ lập trình ứng dụng web phía client server, vốn biết đến nhiều đơn giản dễ sử dụng Với kết hợp NodeJS, MongoDB front-end framework Blaze hay React, Meteor cho phép nhà phát triển xây dựng ứng dụng web thời gian thực Meteor cho phép tự động cập nhật giao diện tương ứng với liệu phía server thơng qua đồng hóa liệu server client Các đặc điểm bật Meteor bao gồm đồng hóa liệu, nhớ sở liệu phía client, trình CLI mạnh mẽ Cộng đồng Meteor đơng nhiệt tình giúp đỡ lẫn Để nắm vững kiến thức framework này, em tham gia khóa học “Làm chủ framework Meteor 10 ngày” với hỗ trợ hướng dẫn đến từ anh Võ Hoàng Đức Khoa với lộ trình sau: Võ Hồng Đức Khoa Lê Thành Luân 13 - Ngày 1: Giới thiệu Meteor Tìm hiểu cấu trúc tính Meteor Cài đặt môi trường phát triển ứng dụng với Meteor - Ngày 2: Xây dựng ứng dụng Meteor Tìm hiểu Blaze, framework xây dựng giao diện mặc định Meteor Tạo ứng dụng đơn giản sử dụng Blaze Meteor Tìm hiểu cấu trúc tổ chức file Meteor - Ngày 3: Làm việc với Collections Nghiên cứu hệ thống collections Meteor phương thức CRUD Thực chức tạo, đọc, cập nhật xóa liệu - Ngày 4: Tạo ứng dụng TodoApp với Meteor React Học cách tích hợp React vào dự án Meteor - Ngày 6: Cập nhật liệu thời gian thực Hiểu khái niệm publications subscriptions Meteor Thực cập nhật liệu thời gian thực ứng dụng Meteor sử dụng React - Ngày 7: Routing điều hướng Tạo route ứng dụng Meteor React Router Xây dựng liên kết điều hướng trang - Ngày 9: Quản lý trạng thái với Redux Võ Hoàng Đức Khoa Lê Thành Luân 14 Tìm hiểu cách quản lý trạng thái giao diện ứng dụng web với Redux Tích hợp Redux vào TodoApp - Ngày 10: Tối ưu hóa triển khai Tìm hiểu cách tối ưu hiệu suất Meteor Thực trình triển khai ứng dụng Meteor lên mơi trường production ]Thực hiện: - Tham gia đầy đủ buổi training - Làm tập thực hành từ hướng dẫn tài liệu - Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết quả: - Nắm kiến thức Meteor - Nắm kiến thức lập trình ứng dụng web tồn diện Meteor ReactJS - Tạo ứng dụng TodoApp Meteor ReactJS 2.5 Thực hành xây dựng máy chủ API cho dự án Iyyara Thời gian: tháng Nội dung: Thực hành kiến thức học tìm hiểu để xây dụng máy chủ API theo yêu cầu người hướng dẫn Kết quả: Xây dựng máy chủ API đáp ứng yêu cầu đặt Võ Hoàng Đức Khoa Lê Thành Luân 15 Thực project Sau tháng đào tạo thực hành, thực tập sinh nắm kiến thực API, JavaScript, Meteor, MongoDB Trong tháng thứ hai, người hướng dẫn hướng dẫn thực tập sinh áp dụng kiến thức học để tham gia thực chiến dự án công ty Chi tiết thực dự án nói phần sau Lịch làm việc Tuần Cơng việc Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn - Tìm hiểu cơng Anh Võ Hoàng ty, cách tổ chức Đức Khoa công ty - Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc qua email, Slack, Jira - Tìm hiểu ngơn ngữ lập trình JavaScript - Làm ứng dụng TodoApp JavaScript - Tìm hiểu sở Anh Võ Hoàng Đức Khoa liệu MongoDB - Tạo sở liệu cho TodoApp - Tìm hiểu Anh Võ Hoàng framework Meteor Đức Khoa Võ Hoàng Đức Khoa Lê Thành Luân 16 - Tìm hiểu thêm Anh framework Meteor - Cài đặt hệ thống API cho TodoApp sử dụng framework Meteor sở liệu MongoDB Iyyara spring 1: - Đọc tài liệu, đọc mã nguồn dự án - Tham gia buổi họp với khách hàng với team - Cài đặt môi trường phát triển dự án - Chạy thử dự án - Tạo schema API task Plans Management Iyyara spring 1(tiếp): - Tạo schema API task Rewards Management - Viết unit tests - Sửa lỗi logic Iyyara spring 2: - Tham gia buổi họp với khách hàng với team - Tạo schema API task Member segmentations Management Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Võ Hoàng Đức Khoa Lê Thành Luân 17 - Viết unit tests 10 11 12 Iyyara spring (tiếp): - Tạo schema API task Coupons Management - Viết unit tests - Sửa lỗi logic Iyyara spring 3: - Tham gia buổi họp với khách hàng team - Tạo schema API task Subscriptions Management - Viết unit tests Iyyara spring (tiếp): - Tìm hiểu khái niệm cronjob viết cronjobs cho task Entities auto expiration - Sửa lỗi logic Iyyara spring 4: - Tham gia buổi họp với khách hàng team - Thực task Payment through Stripe Iyyara spring (tiếp): - Dùng webhooks Stripe bắt kiện tốn Anh Võ Hồng Đức Khoa Anh Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Anh Võ Hoàng Đức Khoa Võ Hoàng Đức Khoa Lê Thành Luân 18 - thành công Sửa lỗi logic Viết báo cáo thực tập Võ Hoàng Đức Khoa Lê Thành Luân 19 Chương Chi tiết project Giới thiệu project Iyyara tảng tìm kiếm xếp hạng nhà hàng dành cho người Hồi giáo Singapore Ứng dụng hoạt động trang tìm kiếm, đánh giá cung cấp ưu đãi quà tặng cho người dùng đến nhà hàng ứng dụng khuyến nghị Iyyara bao gồm tảng ứng dụng di động (Android/iOS) web Các công việc làm 2.6 Cài đặt, chạy thử dự án Nội dung: Clone source code chạy thử dự án Thực hiện: - Cài đặt Docker, Git đăng nhập Gitlab - Đọc tài liệu dự án tài liệu hướng dẫn - Cài đặt pre-commit 2.7 Chức quản lý gói đăng ký sử dụng ứng dụng Nội dung: Viết API quản lý gói đăng ký sử dụng ứng dụng, đặc biệt gói đăng ký kèm Thực hiện: - Đọc tài liệu yêu cầu task - Thảo luận với nhóm đảm nhận mảng front-end Võ Hồng Đức Khoa Lê Thành Luân