ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
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 DOANH NGHIỆP
LẬP TRÌNH ỨNG DỤNG DI ĐỘNG
VỚI XAMARIN.FORMS
Cơng ty thực tập
: Công ty Cổ phần Công nghệ TK25
Người phụ trách
: Ngơ Trí Dũng
Thực tập sinh
: Nguyễn Tiến Dũng
TP. Hồ Chí Minh, tháng 01 năm 2021
LỜI MỞ ĐẦU
Ngày nay, ngành cơng nghiệp Lập trình ứng dụng di động 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ành
Lập trình ứng dụng di động đã 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.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành
công nghiệp Lập trình ứng dụng di động non trẻ Việt Nam đã và đang phát triển mạnh mẽ,
để hòa nhập với những cơng ty hàng đầu về Lập trình ứng dụng di động trên thế giới.
Sau ba năm 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 làm ứng dụng di động trong một mơi trường doanh nghiệp, em
có dự định là sẽ thực tập trong học kì này. Bản thân em sau một thời gian chuẩn bị kiến
thức và ứng tuyển, đã nhận được cơ hội làm việc tại công ty TK25. Đây là cơng ty có mơi
trường chun nghiệp, hiện đại, phù hợp cho em trau dồi kiến thức, kinh nghiệm và phát
triển các kĩ năng của bản thân.
2
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TK25 đã tạo điều kiện cho em có cơ hội được
thực tập tại công ty.
Đặc biệt cảm ơn anh Ngô Trí Dũng, đã training , hướng dẫn, giúp đỡ cho 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
đã chỉ dẫn em về cách làm báo cáo, lên kế hoạch, những kỹ năng khơng thể thiếu để có thể
bảo trì, phát triển 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.
Nguyễn Tiến Dũng
Tp.HCM, ngày 07 tháng 01 năm 2021
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
3
NHẬN XÉT CỦA KHOA
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
4
MỤC LỤC
LỜI MỞ ĐẦU ................................................................................................................. 1
LỜI CẢM ƠN ................................................................................................................. 2
NHẬN XÉT CỦA KHOA ............................................................................................... 3
Chương 1: Giới thiệu công ty thực tập .......................................................................... 5
1. Giới thiệu Công ty Cổ phần Công nghệ TK25 ..................................................... 5
2. Sản phẩm của công ty ........................................................................................... 5
Chương 2: Nội dung thực tập ......................................................................................... 6
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty ....................................... 6
2. Nghiên cứu kỹ thuật .............................................................................................. 6
a)
Các cơng cụ làm việc .......................................................................................... 6
b)
Ơn tập, bổ sung kiến thức về C#, Xamarin ......................................................... 7
3. Thực hiện project .................................................................................................. 7
4. Lịch làm việc ......................................................................................................... 8
Chương 3: Chi tiết về project ......................................................................................... 9
1. Giới thiệu về dự án................................................................................................ 9
2. Các tính năng chính .............................................................................................. 9
3.
Thực hiện ........................................................................................................ 12
3.1.
Người thực hiện ............................................................................................... 12
3.2.
Quá trình thực hiện ......................................................................................... 12
TÀI LIỆU THAM KHẢO ............................................................................................ 13
TỔNG KẾT ................................................................................................................... 14
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
5
Chương 1: Giới thiệu công ty thực tập
1. Giới thiệu Công ty Cổ phần Công nghệ TK25
Gannha.com là nền tảng tích hợp kết nối người dùng với điểm bán thương hiệu
chuỗi gần nhất theo thời gian thực do CEO Nguyễn Trung Khánh nghiên cứu
và phát triển từ năm 2016.
Gannha.com không những kết nối tức thì nhu cầu của khách hàng đến cửa hiệu
gần nhất, mà cịn cung cấp những thơng tin chất lượng về để khách hàng có thể
tin tưởng đưa ra quyết định. gannha.com được nuôi dưỡng từ sự nhiệt huyết và
tinh thần khởi nghiệp của một tập thể trẻ đầy năng lượng. Đó là lí do tuy mới ra
đời nhưng gannha.com đã sớm để lại được những dấu ấn đáng nhớ với các giải
thưởng lớn như Top 10 Startup Viet 2018, Quán quân ioT Startup 2018, Top 3
Techfest ĐNB 2019 và Winner i-Star 2019.
2. Sản phẩm của công ty
Gannha.com là nền tảng tích hợp kết nối người dùng với điểm bán thương
hiệu chuỗi gần nhất theo thời gian thực. Trong ít nhất ba thao tác chạm trên
smartphone, người dùng sẽ được kết nối ngay đến vị trí gần nhất của trên 1.300
thương hiệu chuỗi như: cửa hàng tiện lợi, nhà thuốc, điểm gửi xe ô tô, dự án căn
hộ, sự kiện giải trí – làm đẹp và du lịch…
Locators là ứng dụng di động O2O có chức năng Push&Pull Marketing.
Cửa hiệu sử dụng locators để đăng thông tin các chương trình giới thiệu sản
phẩm mới, giờ vàng và ưu đãi lớn trên nền tảng gannha.com và các nền tảng
khác theo thời gian thực. Locators cịn là cơng cụ đăng Thông tin tuyển dụng;
Sang nhượng mặt bằng; Di dời điểm bán; Chỉ dẫn địa lý chính xác trên nền bản
đồ; Quản trị Sales, Supervisor v.v... dành cho từng cửa hiệu của Thương hiệu
chuỗi Chính chủ.
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
6
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình ứng dụng di động với Xamarin.Forms”
nhằm mục đích giúp sinh viên thực tập được đào tạo tồn diện về lập trình ứng
dụng di động, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm,
thuyết trình, 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 phát triển phần mềm chun nghiệp.
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 nghe người phụ trách
giới thiệu về cơng ty, q trình thành lập và phát triể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 .
− Ngồ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 làm việc, các quy định cần phải tuân thủ, cách sử
dụng công cụ trao đổi…
Kết quả :
− Hiểu thêm về công ty TK25, nắm bắt ngun tắc của cơng ty. Biết cách
làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn.
2.
Nghiên cứu kỹ thuật
a) Các công cụ làm việc
Thời gian: 1 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, cách sử
dụng git.
− Sử dụng Azure Devops để làm việc, nắm bắt về mô hình Scrum để áp
dụng làm việc.
Thực hiện:
− Thực hành sử dụng các phần mềm, tham khảo quy trình trong thực tế.
Kết quả:
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
7
− Cài đặt các cơng cụ trên, có kiến thức cơ bản về những công cụ trên, khả
năng sử dụng cơ bản các ứng dụng.
b) Ôn tập, bổ sung kiến thức về C#, Xamarin
Thời gian: 9 ngày(3 tuần làm việc)
Nội dung:
− Coding convention:
Những nguyên tắc chung khi lập trình: cách đặt tên biến, tên hàm, cách viết
code, chú thích và tổ chức thư mục trong project.
− Ôn tập các kiến thức cơ bản của C# đồng thời bổ sung các kiến thức như
LinQ, lập trình bất đồng bộ, Extensions Method, Event, Delegate, Hanlde
Exception.
− Ôn tập các kiến thức của Xamarin như các Layout, các hàm, Naviagtion.
Hiểu sâu hơn về mô hình MVVM.
− Nghiên cứu, áp dụng custom control, custom renderer, behavior trong
Xamarin.
− Nắm được cấu trúc của project sẽ làm việc, phân chia các module, thư
mục… như thế nào.
Thực hiện:
Chủ động tìm hiểu từ tài liệu của Leader đã cho.
Chủ động liên hệ với Leader để hỏi đáp những vấn đề vướng mắc trong quá
trình làm việc.
− Debug chương trình để hiểu rõ các thành phần, modudle của ứng dụng
− Làm ứng dụng demo để nắm những điều đã được học.
− Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.
−
−
Kết quả:
− Hiểu rõ hơn về ngôn ngữ C#, áp dụng những kiến thức mới vào việc lập
trình
− Hiểu rõ hơn về Xamarin, nắm mơ hình MVVM.
− Cơ bản biết được về CustomControl, CustomRenderer, Behavior… trong
Xamarin.
3.
Thực hiện project
Sau ba tuần được training và thực hành, thực tập sinh đã nắm được những kiến thực
cơ bản về Xamarin. Leader đã hướng dẫn thực tập sinh áp dụng những kiến thức đã
học để thực hiện dự án là Locators.asia.
Người phụ trách: Ngô Trí Dũng
Nguyễn Tiến Dũng
8
Chi tiết dự án sẽ được nói ở phần sau.
Lịch làm việc
4.
Một tuần em làm việc 3 ngày tại công ty(thứ 2,3,4).
Tuần
1
-
2,3,4
-
5-nay
-
Nhận xét
Người
Mức độ hồn của người
Cơng việc
hướng dẫn
thành
hướng
dẫn
Tìm hiểu về cơng ty, Anh Ngơ Trí Hồn thànhmắc.
cách tổ chức của Dũng
công ty.
Làm quen với các
công cụ làm việc
trong công ty.
Ơn tập, bổ sung kiến
Hồn thành
thức về C#.
Ơn tập, bổ sung kiến
thức về Xamarin.
Tham gia vào phát
Hồn thành
triển, bảo trì ứng
dụng Locators.
Làm việc theo mơ
hình Scrum
Mỗi sprint kéo dài
trong vịng 2 tuần
Tham gia đầy đủ vào
các buổi họp, tiếp
thu, đóng góp ý kiến.
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
9
Chương 3: Chi tiết về project
1.
Giới thiệu về dự án
Locators là ứng dụng di động O2O có chức năng Push&Pull Marketing. Cửa hiệu
sử dụng locators để đăng thông tin các chương trình giới thiệu sản phẩm mới, giờ
vàng và ưu đãi lớn trên nền tảng gannha.com và các nền tảng khác theo thời gian
thực. Locators cịn là cơng cụ đăng Thông tin tuyển dụng; Sang nhượng mặt bằng;
Di dời điểm bán; Chỉ dẫn địa lý chính xác trên nền bản đồ; Quản trị Sales,
Supervisor v.v... dành cho từng cửa hiệu của Thương hiệu chuỗi Chính chủ.
2.
Các tính năng chính
−
Tính năng tạo quảng cáo:
Mỗi quảng cáo được gọi là 1 SellingPoint, khi đã tạo thành cơng. SellingPoint sẽ
có mặt trên ứng dụng gannha. Từ đây người dùng sử dụng ứng dụng gannha có thể
thấy được các khuyến mãi, thơng tin.. tức thì được tải lên từ Locators.
−
Tính năng xem, sửa quảng cáo:
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
10
Các SellingPoint được tạo ở trên, người dùng muốn xem và sửa thì có thể vào đây.
Thơng tin trên ứng dụng gần nhà sẽ được cập nhật lại.
Tính năng quản lý sản phẩm:
Tại đây người dùng có thể tìm kiếm, xem sản phẩm, kích hoạt sản phẩm. Những
sản phẩm này sẽ đi cùng các SellingPoint xuất hiện trên ứng dụng gannha.
−
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
11
Tính năng xử lý đơn hàng:
Người dùng cuối tìm điểm bán gần nhất trên ứng dụng gannha, khi mua hàng
thông tin sẽ được đẩy tới ứng dụng Locators bằng push notification.
−
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
12
Ngồi ra cịn nhiều tính năng khác như tuyển dụng, báo cáo, signee,… đang
trong quá trình phát triển.
−
3.
Thực hiện
3.1. Người thực hiện
− Sinh viên Nguyễn Tiến Dũng dưới sự giúp đỡ tận tình của anh Ngơ Trí Dũng.
− Phối hợp với tester để nhận bug report và debug, và team backend để cập
nhật các sự thay đổi, báo lỗi API nếu có.
3.2. Q trình thực hiện
Tham gia vào dự án đang được thực hiện:
Thời gian: 3 tháng rưỡi
Nội dung:
Tham gia vào bảo trì và xây dựng chức năng cho ứng dụng Locators.
Thực hiện:
− Làm việc theo mơ hình Scrum(mỗi Sprint kéo dài 2 tuần).
− Báo cáo tiến độ hằng ngày cho Leader.
− Phân cơng các Task đã có trên Azure Devops
− Giao tiếp với các team liên quan nếu có vấn đề cần giúp đỡ.
− Khi nhận Task phải phân chia công việc rõ ràng, cập nhật tiến độ công
việc ở Azure Devops.
− Tham gia các buổi họp.
− Báo cáo tiến độ, tình trạng cơng việc để Leader có thể review và merge
code.
Kết quả:
− Biết cách sử dụng Submodule trong git.
− Sử dụng Azure Devops để quản lý công việc tốt hơn.
− Giao tiếp giữa các team, đồng nghiệp trong cơng ty.
− Hồn thành cơng việc được giao.
− Tham gia đầy đủ các cuộc họp.
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
13
TÀI LIỆU THAM KHẢO
[1] />[2] />[3] />[4]Tài liệu nội bộ của công ty TK25
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng
14
TỔNG KẾT
Trong quãng thời gian vừa qua, em đã cải thiện bản thân rất nhiều trong quy trình
làm việc thực tế, tác phong của người kỹ sư phần mềm. Được làm việc tại đây em đã được
học thêm các kỹ năng mềm, giao tiếp, làm việc nhóm với mọi người, có thêm nhiều người
bạn mới. Biết cách sử dụng các cơng cụ, áp dụng các quy trình để phát triển phần mềm từ
develop cho tới khi đã lên production. Củng cố kiến thức lập trình của bản thân và tích lũy
kinh nghiệm làm việc từ dự án thực tế.
Em xin cảm ơn Leader, các anh chị, các bạn trong công ty thời gian vừa qua đã giúp
đỡ em rất nhiều.
Người phụ trách: Ngơ Trí Dũng
Nguyễn Tiến Dũng