Các loại hình kinh doanh truyền thống cũng dần chuyển hướng số hóa, nhập cuộc trong cuộc đua di động là sự ra đời của hàng loạt ứng dụng trong nhiều lĩnh vực, trong đó không thể không nh
Trang 1TRƯỜ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 ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ TRÊN THIẾT BỊ DI ĐỘNG
Thực tập sinh : Đào Duy Nam
TP Hồ Chí Minh, tháng 6 năm 2022
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp mobile là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ứng dụng mobile đã và đang là nhân
tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm
Với sự phát triển nhanh chóng của các thiết bị di động kéo theo sự gia tăng của thị phần ứng dụng mobile Hiện nay các ứng dụng mobile là một phần không thể thiếu trên chiếc smartphone của mỗi chúng ta
Các loại hình kinh doanh truyền thống cũng dần chuyển hướng số hóa, nhập cuộc trong cuộc đua di động là sự ra đời của hàng loạt ứng dụng trong nhiều lĩnh vực, trong đó không thể không nhắc đến sự trỗi dậy của thương mại điện tử, đặc biệt là trong thời điểm dịch bệnh covid diễn biến phức tạp
Sau khoảng thời gian học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia trong một môi trường chuyên nghiệp, từ đó đạt được ước mơ trở thành lập trình viên mobile nên em quyết định chọn Kyanon Digital - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3đã bỏ ra nhiều thời gian,công sức để hướng dẫn em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Vũ Trần Đăng Khôi, team leader đã training các kiến thức nghiệp
vụ trong mua bán, các kiến thức về lập trình react native, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường
mới; cảm ơn anh Lư Quảng Dũng, đã training quy trình Scrum, hỗ trợ em rất nhiều về các vấn
đề kỹ thuật thiết lập môi trường phát triển ứng dụng, debug tìm ra lỗi, tận tình giúp đỡ mỗi khi
em gặp khó khăn trong quá trình làm ứng dụng; cảm ơn chị Chung Hoàng Thu, đã chỉ dẫn em
về tác phong làm việc trong công ty, cách quản lý task, lên kế hoạch, những kỹ năng không thể
thiếu; cảm ơn các anh Trần Ngọc Sơn,, anh Đỗ Duy, đã chỉ dẫn cho em những kiến thức quan
trọng về restfull API, Authentication,… để có thể làm ra sản phẩm trong thời gian qua
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ài báo cáo này
Đào Duy Nam TpHCM, ngày 15 tháng 6 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
Mục lục
Chương 1: Giới thiêu công ty thực tập 6
1 Giới thiệu công ty Kyanon Digital 6
2 Sản phẩm của công ty 6
Chương 2: Nội dung thực tập 7
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
2 Nghiên cứu kỹ thuật 8
2.1 Các công cụ làm việc 8
2.2 Tìm hiểu về dự án và source code 8
2.3 Tham gia dự án, nhận những task đơn giản 9
2.4 Lập trình các chức năng quan trọng hơn 10
2.5 Cài đặt tính khuyến mại khi mua hàng từ Talon.One 11
3 Thực hiện project 13
4 Lịch làm việc 13
Chương 3: Chi tiết về project 16
1 Giới thiệu về các ứng dụng 16
1.1 Ứng dụng BipBip 16
1.2 Ứng dụng BipBip Fullfillment App 18
1.3 Ứng dụng Tops Market 20
2 Thực hiện 21
3 Kế hoạch 22
TÀI LIỆU THAM KHẢO 23
TỔNG KẾT 24
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty Kyanon Digital
Kyanon Digital được thành lập năm 2012, Kyanon Digital là một nhà sản xuất kỹ thuật số đang phát triển nhanh, nhanh nhẹn và sáng tạo Ở Việt Nam, Kyanon Digital
là một lá cờ trong phong trào Agile Công ty sử dụng tư duy Agile và phương pháp luận cho tất cả các dự án Kế hoạch thích ứng và phản ứng nhanh chóng thay đổi là một nền tảng quan trọng cho hoạt động kinh doanh của công ty Hai lĩnh vực trọng tâm của Kyanon Digital là đổi mới kỹ thuật số và Gia công phần mềm kỹ thuật số Kyanon Digital có văn phòng đặt tại thành phố Hồ Chí Minh và Singapore, được tin tưởng bởi nhiều khách hàng quốc tế nhờ cam kết chất lượng và sự tận tâm với sản phẩm
2 Sản phẩm của công ty
Kyanon Digital cung cấp dịch vụ chuyển đổi số, tư vấn số,… với nhiều quy trình và tiêu chuẩn nghiêm ngặt Kyanon Digital xây dựng ứng dụng trên nhiều nền tảng: Website, Mobile, Drupal, AI, Low-Code, No-Code Kyanon Digital đã giúp nhiều công ty nổi tiếng cải thiện năng suất, hiệu quả và tốc độ cho thị trường như SHARP, Temasek, Accenture, Sunway, Một số sản phẩm hiện tại đang vận hành: Cocorolife – Ecommerce Store, BambuUp, Takashimaya – Luxury Department Store, Coway, Air Tahiti Nui – A Flight Booking Mobile Platform,…
Có thể tìm hiểu thêm tại website: https://kyanon.digital/case-studies/
Trang 7Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình ứng dụng thương mại điện tử trên thiết bị di động” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình ứng dụng mobile đa nền tảng, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, sắp xếp thời gian, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường chuyên nghiệp Được trực tiếp tham gia một dự án thực tế đang trong quá trình vận hành
Thực tập sinh được sắp xếp tham gia vào dự án “ứng dụng bán hàng BipBip” – một ứng dụng thương mại điện tử được phát triển trên nền tảng React Native, với tư cách thành viên của team Mobile (gồm 4 thành viên) Ngoài ra còn có thêm BipBip Fullfillment App (FFA) – Dành cho shipper và người quản lý hàng trong kho, siêu thị Tops Market - ứng dụng bán hàng tương
tự như BipBip
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty, cách liên lạc và làm việc
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và 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ủa công ty
Được yêu cầu hoàn thành một số giấy tờ thủ tục còn thiếu sót, được người hướng dẫn về dự án sắp được tham gia (Dự án ứng dụng bán thực phẩm BipBip), nghiệp vụ, được giới thiệu với các thành viên của các nhóm khác nhau trong dự án
Được cấp các tài khoản nhân sự nội bộ để sử dụng trong quá trình làm việc Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, lịch họp thường nhật, các quy định cần phải tuân thủ, cách sử dụng email trong công việc, các công cụ dùng trong công việc
Được giới thiệu về quy trình Scrum : Được chia thành các Sprint Mỗi Sprint sẽ kéo dài 2 tuần, cách chia điểm cho các task, lịch báo cáo mỗi ngày lúc 9h30 sáng Các buổi lên kế hoạch, review Sprint sẽ tạo ra các task
Kết quả : Hiểu thêm về công ty Kyanon Digital, quá trình thành lập và phát triển Có
thêm các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn Bước đầu nắm được kiến thức về dự án Nắm được quy trình phát triển phần mềm đang được sử dụng là Scrum
Trang 82 Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : 4 ngày
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như: Google Chat – dùng để giao tiếp với các thành viên trong team, Google Meet – dùng
để họp, Google Calendar – dùng để theo dõi các sự kiện quan trọng, Taiga – một web app để quản lý, phân công task,…
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên
Kết quả : Biết cách sử dụng và làm việc bằng những công cụ trên
2.2 Tìm hiểu về dự án và source code
Thời gian: 5 ngày (1 tuần)
Nội dung: Tự tìm hiểu về source code của dự án, được training về cấu trúc ứng dụng, Redux Saga, CodePush
- Truy cập GitLab của dự án để tải, chạy và build ứng dụng
- Được training về các môi trường phát triển ứng dụng: dev dùng cho lập trình viên, uat cho QC test, production cho người dùng Cách build ứng dụng trên các môi trường này và cách phát hành phiên bản mới
có phiên bản mới
- Tự tìm hiểu, đọc source code và đặt câu hỏi cho các mentor nếu có những chỗ không hiểu Sau đó 5 ngày sẽ có 1 buổi vấn đáp về dự án để leader đánh giá xem
đã đủ năng lực để tham gia nhận task của dự án chưa
Thực hiện: Khi chạy và build ứng dụng trên máy tính cá nhân đã gặp một số lỗi và
được các thành viên trong team giúp đỡ, sửa lỗi Tự tìm hiểu kiến thức và cách hoạt động của các công nghệ nêu trên
Kết quả: Tham gia và đạt yêu cầu buổi review kiến thức với team leader, nắm được
các công nghệ sử dụng trong dự án
Trang 92.3 Tham gia dự án, nhận những task đơn giản
Thời gian : 10 ngày (2 tuần)
Nội dung : Bắt đầu được tham gia đóng góp code cho dự án thực tế bằng cách nhận
những task đơn giản Phần code sẽ được các mentor review trước khi merge vào dự
án
- Chỉnh sửa giao diện app:
Bắt đầu nhận những task chỉnh nội dung chữ (VD: Thêm lưu ý khi đặt hàng), chuyển đổi nội dung khi người dùng chuyển ngôn ngữ trên app từ tiếng việt sang tiếng anh (sử dụng thư viện i18n)
- Chỉnh sửa giao diện đơn giản, gọi API lấy dữ liệu, sử dụng Postman
Liên hệ team Backend để nhận API, hiển thị lên app thông tin như số điện thoại kèm tên người dùng, chỉnh kích thước các phần tử trên app
- Tham gia làm song song ứng dụng thứ 2 là BipBip Fullfillment App (FFA)
Đọc source code và bắt đầu làm các task dành cho app BipBip Fullfillment App (FFA) – app dành cho shipper pick hàng theo các đơn mà người dùng đã đặt qua app BipBip, ngoài ra còn các nghiệp vụ như trả hàng, báo thiếu hàng, scan mã QR
có trên hàng hóa…
- Ngoài ra trong thời gian này được leader training về cách ứng dụng react native được build như thế nào, hiểu các cách sử dụng git nâng cao như cherry pick commit: là một cách để checkout một commit tại branch nhất định về branch hiện tại., cách tổ chức branch trong git chia thành:
Nhánh production: chứa code release giao cho khách hàng Nhánh release: Được merge từ nhánh develop mỗi khi 1 sprint kết thúc Nhánh develop: Nhánh chính được sử dụng để phát triển ứng dụng, mỗi khi làm 1 task nào đó sẽ cần tạo 1 nhánh mới từ develop sau khi hoàn thành sẽ tiến hành merge lại vào develop
Thực hiện :
- Hoàn thành toàn bộ các task được giao
- Chủ động liên hệ với các thành viên trong dự án để làm việc hoặc nhờ giúp đỡ
- Tham gia training đầy đủ
Kết quả :
- Nâng cao kỹ năng làm việc nhóm, đặc biệt là sự chủ động trong giải quyết công việc
Trang 10- Có được những kiến thức quan trọng cho việc lập trình React Native
- Biết cách sử dụng restFull API, Postman, cách Authentication hoạt động nhờ Token
- Làm quen với môi trường làm việc thực tế, biết thêm về cách báo cáo trước các thành viên trong team, có được tinh thần trách nhiệm
2.4 Lập trình các chức năng quan trọng hơn
Thời gian: 20 ngày (4 tuần)
Nội dung: Sau khoảng thời gian làm việc với các task đơn giản, thực tập sinh được
nhận những task thử thách hơn, một số công việc nổi bật như:
- Làm chức năng chọn tỉnh thành, quận từ đó chọn ra cửa hàng phù hợp để hiển thị sản phẩm và giao hàng:
Ứng dụng BipBip bán hàng hóa tại nhiều điểm như siêu thị, cửa hàng nên dựa vào
vị trí của người dùng mà hiển thị các mặt hàng khả dụng Thực tập sinh nhận API tỉnh thành phố, quận, các cửa hàng khả dụng, khung giờ giao hàng khả dụng để hiển thị
Ngoài ra, đã gặp các lỗi khi làm việc thực tế với ứng dụng react native như việc thêm mới 1 thư viện bên thứ 3 vào app thì khi test app bị lỗi crash Nguyên nhân
là do thư viện có can thiệp vào phần code native của android và ios nên không thể cập nhật phiên bản mới qua OTA mà cần build bản release mới Các lỗi phát sinh khác trong quá trình làm việc đều được các mentor giúp đỡ
- Thêm các chức năng mới cho app:
Thực hiện các chức năng như: Yêu cầu xác nhận độ tuổi cho các sản phẩm có giới hạn độ tuổi, thêm chức năng nhập ticket number cho mỗi đơn hàng khi shipper lấy hàng, …
Làm thêm 1 app tên Tops Market: nội dung cấu trúc giống BipBip App chỉ khác nhà phát hành, công việc chủ yếu là mang những tính năng có sẵn từ app cũ sang app mới
- Sửa các lỗi còn tồn đọng trong app:
Đây là công việc chính của thực tập sinh trong khoảng thời gian này, với số lượng task rất nhiều, các lỗi như: crash app khi nhấn vào nút, không thể tìm kiếm được
Trang 11sản phẩm, lỗi không gửi tin nhắn xác nhận OTP sau khi đăng nhập, giá sản phẩm hiển thị trong đơn hàng khác với khi mua, lỗi push notification không chính xác… Quá trình sửa lỗi đã giúp thực tập sinh đúc kết rất nhiều kinh nghiệm, nâng cao tinh thần làm việc nhóm với các team như QC, Backend, Web
- Tham dự các buổi seminar, họp mặt công ty, họp mặt team
Thực tập sinh tham gia các buổi seminar về các công nghệ như TypeScript, tư duy thiết kế UI, …
Tham dự các buổi Town Hall Meeting mỗi tháng toàn thể công ty để đặt ra câu hỏi, giao lưu với đồng nghiệp
Mỗi tuần dành ra 1 tiếng cuối tuần để các thành viên trong team có thể giao lưu, tech talk, gắn kết với nhau hơn
Thực hiện :
- Tham gia một số buổi seminar
- Hoàn thành các công việc đúng tiến độ
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
- Gặp mặt các thành viên của các team khác để chủ động làm việc
Kết quả :
- Có thêm kinh nghiệm trong việc xử lý các task khó khăn
- Biết sắp xếp thời gian hiệu quả hợp lý
- Nâng cao quan hệ với đồng nghiệp
- Nắm được rõ các luồng xử lý của app
2.5 Cài đặt tính khuyến mại khi mua hàng từ Talon.One
Thời gian: 20 ngày (4 tuần)
Nội dung : Sau khoảng thời gian làm việc có kinh nghiệm khá tốt, thực tập sinh được
giao cho công việc tìm hiểu và thay đổi hệ thống khuyến mại cũ trên app sang Talon.One
- Talon.One:
Talon.One là hệ thống khuyến mại tất cả trong một được thiết kế cho doanh nghiệp, giúp quản lý việc marketing khuyến mại, quản lý khách hàng đơn giản
Trang 12hơn cho doanh nghiệp Thông tin chi tiết hơn có thể truy cập:
https://www.talon.one/
- Tham gia các buổi training về hệ thống Talon.One :
Tham gia, tìm hiểu và ghi chép kiến thức về hệ thống mới Ngoài ra tra cứu trên mạng, đọc doc của Talon.One để hiểu cách sử dụng
- Lập trình giao diện cho chức năng khuyến mại:
Nhận bản thiết kế Figma sau đó code các màn hình theo yêu cầu Lấy dữ liệu từ API để hiển thị các coupon phù hợp cho mỗi loại người dùng, thay đổi một số logic cho phù hợp với hệ thống khuyến mại mới
- Tham gia thảo luận với các thành viên khác về cách làm, ưu tiên của các chức năng, sau đó tiến hành thực hiện:
Ưu tiên làm các chức năng đơn giản trước cho đến phức tạp sau, ví dụ: Giảm giá trên tổng đơn hàng, giảm giá phí ship cho đến tặng kèm sản phẩm, giảm giá cho khách hàng thứ n (dựa vào hệ thống Talon.One cung cấp), giảm giá đơn hàng thứ
n trong ngày x, mua n sản phẩm A được giảm giá m sản phẩm B …
- Cài đặt Tracking các thao tác người dùng, quy đổi điểm nhận quà:
Talon.One cung cấp dịch vụ giúp theo dõi các hoạt động người dùng trên app như xác định người dùng mở app lần đầu, thêm vào giỏ hàng sản phẩm nào, xem chi tiết sản phẩm nào, … từ đó thiết lập chương trình khuyến mại phù hợp để tặng điểm Loyalty cho người dùng
Cài đặt chức năng đổi điểm lấy phần thưởng
- Cài đặt tính năng multi-order:
Với các loại sản phẩm khác nhau sẽ có các kiểu vận chuyển khác nhau (vận chuyển thông thường, giao nhanh 3h, giao nhanh 6h, …) Khi đơn hàng chứa các sản phẩm với nhiều loại vận chuyển khác nhau sẽ bị tách thành nhiều đơn hàng riêng biệt Số tiền khuyến mại chia cho các đơn theo tỉ lệ thành tiền
Thực hiện :
- Thực hiện các chức năng yêu cầu
- Tham gia đầy đủ các buổi training