Tải bản đầy đủ (.pdf) (17 trang)

Báo cáo thực tập lập trình ứng dụng di động (2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (317.51 KB, 17 trang )

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 ỨNG DỤNG DI ĐỘNG

Cơng ty thực tập

: CÔNG TY TNHH CÔNG NGHỆ REXBIX

Người phụ trách

: Nguyễn Minh Dương

Thực tập sinh

: Nguyễn Quang Huy

TP. Hồ Chí Minh, tháng 1 năm 2021


LỜI MỞ ĐẦU

Tại Việt Nam, ngành công nghiệp phần mềm di dộng cũng đã và đang có tốc độ phát
triển nhanh chóng và lớn mạnh. Có thể thấy rằng, với sự tăng trưởng mạnh mẽ như vậy thì
ngàng phần mềm di động là ngành có tiềm năng trong tương lai.
Để có thể cọ sát với thực tế, làm quen với môi trường doanh nghiệp, bắt kịp xu hướng
công nghệ của thị trường, trong thời gian từ tháng 10/2020 đến nay, em đã được làm việc tại
cơng ty ​TNHH CƠNG NGHỆ REXBIX, c​ hức vụ lập trình viên di động. ​Với sự hướng dẫn
nhiệt tình của các thầy cơ khoa Cơng nghệ phần mềm cũng như sự chỉ bảo nhiệt tình của các


anh trong công ty, em đã thu được nhiều kinh nghiệm quý giá, những hiểu biết về nghề nghiệp
cũng như công việc sau khi ra trường. Qua đợt thực tập này em thấy mình cần phải cố gắng
nhiều hơn nữa trong việc học tập, giao lưu học hỏi cũng như hoàn thiện các kĩ năng cần thiết
cho bản thân.

1


LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn ​CÔNG TY TNHH CƠNG NGHỆ REXBIX đã tạo điều kiện
cho em có cơ hội được thực tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh trong công ty,
em đã tiếp thu được những kiến thức quan trọng để có thể làm được một ứng dụng di động.
Chân thành cảm ơn các anh đã 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 ​Nguyễn Minh Dương ​đã hướng dẫn, giúp đỡ cho em về những quy
trình cần nắm, các kiến thức nền, cách làm việc với các nhóm và cách giải quyết những khó
khăn trong cơng việc; cảm ơn anh P
​ hạm Xuân Phúc, ​người hướng dẫn trực tiếp trong giai đoạn
tham gia dự án đã hướng dẫn, hỗ trợ em rất nhiều về các kiến thức cụ thể, tận tình chỉ bảo em
các điểm khó, các điểm cần lưu ý và cách giải quyết các vấn đề phát sinh khi là người trực tiếp
đảm nhiệm dự án, và review cho em từng task, từng dòng code; đồng thời cảm ơn các anh trong
team Backend đã chỉ dẫn em về cách giao tiếp với sever, giúp đỡ em về các kiến thức để em có
thể hiểu thêm về dự án mà mình tham gia, và cả những kỹ năng mềm khác mà một nhân viên
trách nhiệm không thể thiếu trong môi trường làm việc của mình; Cảm ơn bạn ​Phạm Trần
Chính là partner trong giai đoạn training đã có nhiều lời khuyên bổ ích trong q trình thực tập,
góp ý trong giai đoạn em thực tập ở công ty.
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 Quang Huy

TpHCM, ngày 10 tháng 01 năm 2021

2


NHẬN XÉT CỦA KHOA

3


Nôị dung
Chương 1. Giới thiêu công ty thực tập

5

1. Giới thiệu công ty REXBIX

5

1.1.

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

6

2. Nghiên cứu kỹ thuật

6

2.1.

Các cơng cụ làm việc

6

2.2.

Tìm hiểu ngơn ngữ Dart nâng cao

6

2.3.

Tìm hiểu về Flutter

7

3. Thực hiện project

8


4. Lịch làm việc

9

Chương 3. Chi tiết về project

10

1. Giới thiệu về Ứng dụng PayVin

10

2. Thực hiện

11

3. Kế hoạch

12

4.

13

Các màn hình

4



Chương 1.Giới thiêu công ty thực tập

1. Giới thiệu công ty REXBIX
Công ty TNHH Công nghệ ​REXBIX là công ty Việt Nam được thành lập vào năm 2016,
chuyên kinh doanh và cung cấp các dịch vụ phần mềm.
REXBIX có trụ sở đặt tại ​Tịa Nhà FIMEXCO, 231-233 Lê Thánh Tơn, Phường Bến Thành,
Quận 1, Thành Phố Hồ Chí Minh, Việt Nam và văn phịng làm việc tại Quận Tân Bình.
1.1. Sản phẩm của công ty

REXBIX cung cấp giải pháp công nghệ phần mềm, bảo trì, triển khai ERP, QA, cho
các tập đoàn, đơn vị trong nhiều lĩnh vực như: Bất động sản, Tài chính, Kinh doanh

Các đối tác cơng nghệ như Agora, Freshchat,… với các khách hàng thân thiết như
Chung cư Hùng Vương Plaza, Ezugi Gaming…
Hiện tại REXBIX đang tập trung phát triển sản phẩm về hoạt động bất động sản và
Đồng tiền điện tử. Trong đó có các sản phẩm như PayVin, KingGame,
VNRealNET…

5


Chương 2.Nội dung thực tập
Chủ đề “Lập trình Ứng dụng di động với Flutter” 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, nghiên cứu 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
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 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 đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong
công việc…
Kết quả: Hiểu thêm về cơng ty, q 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.
2. 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, thực tập sinh sẽ được hướng dẫn 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ư
Asana - sử dụng trong làm việc nhóm, phân chia cơng việc, Github – quản lý
source code, Whatsapp và Discord – kênh trao đổi thơng tin chung của cơng ty
ngồi giờ và trong thời gian làm việc tại nhà do ảnh hưởng của covid.
Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả: Làm quen được các công cụ làm việc, giúp dễ dàng hơn trong công
việc.

6


2.2. Tìm hiểu cách sử dụng Git trong dự án

Thời gian : 1 ngày
Nội dung: Được training về quy trình sử dụng Git.
- Các lệnh git thường dùng.

- Quy trình làm việc với Git tại công ty.
- Cách xử lý các trường hợp không may xảy ra.
Thực hiện:​ T
​ hực hành theo hướng dẫn và đặt câu hỏi.
Kết quả:
- Biết cách sử dụng git.
- Làm quen với quy trình quản lý source code của công ty
- Biết các quy tắc đặt tên nhánh, đặt tên commit, ...
2.3. Tìm hiểu ngơn ngữ Dart nâng cao

Thời gian : 5 ngày (1 tuần)
Nội dung:​ Được training về các kỹ thuật Dart nâng cao, những kiến thức quan
trọng cho việc tối ưu trên Android.
- Lập trình hướng đối tượng.
- Đồng bộ và bất đồng bộ trong ngơn ngữ Dart.
- Tìm hiểu về Stream Builder.
- Xử dụng graphql để fetch dữ liệu.
Thực hiện:
- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả:
- Nâng cao kỹ năng lập trình với ngơn ngữ Dart.
- Làm quen với code của cơng ty.
- Hồn thành sản phẩm demo.
2.4. Tìm hiểu về Flutter

Thời gian: 5 ngày (1 tuần)
Nội dung: Được training về Flutter framework và những kỹ thuật trong việc tối
ưu code của dự án.


7


- Cài đặt môi trường trên máy và chạy giả lập chương trình trên thiết bị
Android.
- Các khái niệm về Widget của Flutter:
o Tìm hiểu về các widget của Flutter, cách sử dụng. Tìm hiểu về
cách chia layout và bố cục sắp xếp các widget
- Package và plugin trong Flutter
o Tìm hiểu về các package trong Flutter, cách thêm và sử dụng một
package vào dự án
o Custom các package theo nhu cầu của dự án
- Tối ưu hiệu suất của Flutter
o Biết cách làm thế nào để có thể thiết kế 1 ứng dụng Flutter có hiệu
suất tốt nhất
o Kiểm sốt được các phương thức trong Flutter framework
- Tìm hiểu về Provider Pattern
o Hiểu về Provider Pattern và ý tưởng hoạt động của pattern này.
o Hiểu về điểm mạnh và điểm yếu của Provider.
Thực hiện:
- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả:
- Hiểu về Flutter framework
- Có được những kiến thức nền tảng cho việc phát triển ứng dụng di động
sau này.
2.5. Tham gia vào dự án PayVin

Thời gian: 5 tuần


8


Nội dung: Được tham gia vào dự án PayVin của cơng ty, hỗ trợ làm những màn
hình đơn giản và sửa lỗi.
Thực hiện:
- Nhận task từ người quản lý.
- Thực hiện và báo cáo tiến độ hoàn thành task qua Asana.
- Thông báo đến người quản lý review và merge code sau khi hoàn thành
task.
Kết quả:
- Hoàn thành task đúng thời hạn
- Có được những kiến thức quan trọng trong việc phát triển phần mềm của
doanh nghiệp.
- Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho
đúng chuẩn, dễ đọc, dễ hiểu.

3. Thực hiện project
Sau 3 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ề Dart, Flutter. Trong tháng thứ hai, trainer đã hướng dẫn
thực tập sinh áp dụng những kiến thức đã học để thực hiện một project ứng
dụng di động thực tế của công ty.
Thời gian: 5 tuần
Nội dung: Được tham gia vào dự án PayVin của cơng ty, hỗ trợ làm những màn
hình đơn giản và sửa lỗi.
Thực hiện:
- Nhận task từ người quản lý.
- Thực hiện và báo cáo tiến độ hoàn thành task qua Asana.
- Thông báo đến người quản lý review và merge code sau khi hoàn thành
task.

Kết quả:
- Hoàn thành task đúng thời hạn
9


- Có được những kiến thức quan trọng trong việc phát triển phần mềm của
doanh nghiệp.
- Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho
đúng chuẩn, dễ đọc, dễ hiểu.

4. Lịch làm việc
Tuần
1

-

2

3

-

5

6

7

Mức độ
hồn

thành
Tìm hiểu về cơng ty, cách tổ chức Anh Nguyễn Minh 8/10
của công ty.
Dương
Học cách trao đổi, làm việc qua Anh Pham Xuân Phúc
email.
Làm quen với các công cụ làm việc
trong cơng ty.
Tìm hiểu về git và quy trình quản
lý source code của cơng ty
Tìm hiểu ngơn ngữ Dart
Anh Phạm Xuân Phúc 8/10
Tìm hiểu về Flutter framwork
Làm 1 màn hình demo
Tham gia nghe quản lý lên kế Anh Nguyễn Minh 8/10
hoạch, và họp triển khai dự án
Dương
Code giao diện màn hình đăng Anh Trần Văn Cơng
nhập, đăng ký số điện thoại
Anh Phạm Xuân Phúc
Hoàn thành chức năng đăng nhập
đăng ký số điện thoại
Cơng việc

-

Người hướng dẫn

Màn hình Trang chủ
Anh Pham Xuân Phúc

Banner và chuyển tab
Màn hình setting và giới thiệu app
Lấy tỉ giá và hiển thị thông tin đồng Anh Phạm Xuân Phúc
tiền điện tử
Làm màn hình lịch sử giao dịch.
Phân trang màn hình lịch sử giao
dịch.
Bổ sung hiệu ứng loading và fix lỗi
Sửa giao diện và sửa lỗi giao dịch
Anh Phạm Xuân Phúc

10

9/10
9/10

10/10


8

- Làm màn hình thơng tin người
dùng
- Thiết kế màn hình danh sách thơng Anh Phạm Xn Phúc
báo.
- Thiết kế màn hình chi tiết thơng
báo.
- Báo cáo cuối đợt thực tập.

11


10/10


Chương 3.Chi tiết về project
1. Giới thiệu về Ứng dụng PayVin
Ứng dụng PayVin​ do REXBIX phát triển tạo cầu nối đầu tư tiền điện tử cho các nhà
đầu tư tài chính.
Mục tiêu của ứng dụng:
- Kết nối giữa các nhà đầu tư với phương thức đầu tư vào tiền điện tử (Bitcoin,
Etherium, USDT, ...).
- Giúp các nhà đầu tư theo dõi và dự đoán biến động của thị trường tiền ảo.
- Tạo ra lợi nhuận cho bên trung gian cung cấp dịch vụ mua/bán tiền điện tử.
Nội dung hoạt động:
- Xây dựng Hệ thống mua bán tiền điện tử.
- Tạo tài khoản điện tử cho các nhà đầu tư.
Nghiên cứu, theo dõi biến động của thị trường hiện tại và tương lai.

-

Tính năng chính:
- Hỗ trợ nhà đầu tư mua bán tiền điện tử.
- Xem biến động của thị trường tiền điện tử.
- Nhận các thông báo từ ứng dụng.
2. Thực hiện
-

Nguyễn Minh Dương (Product Owner)
Phạm Xuân Phúc (Mobile Developer)
Nguyễn Quang Huy (Mobile Developer)

Trần Văn Cơng (Backend Developer)
Phạm Trần Chính (Backend Developer)
Trần Hiệp Nguyên Huy (Frontend Developer)

3. Kế hoạch
Sprint 1: Đăng nhập, Đăng xuất, Đăng ký tài khoản bằng số điện thoại.
- Đăng kí bằng xác thực OTP qua số điện thoại.
- Đăng nhập bằng email/SĐT và pasword.
12


-

Reset mật khẩu bằng cách nhập OTP qua số điện thoại.
Màn hình lần đầu đăng nhập ứng dụng
Trang thơng tin cá nhân của người dùng
Đổi mât khẩu người dùng
Hiển thị banner và danh sách thông tin các đồng tiền điện tử.

Kết quả:
- Đăng nhập, đăng ký
- Màn hình giới thiệu app
- Màn hình trang chủ
- Màn hình thơng tin người dùng
Sprint 2:
- Màn hình Dashboard của ứng dụng.
- Hiển thị điều khoản ứng dụng và chính sách.
- Hiển thị số dư của ví.
- Hiển thị các phương thức giao dịch hỗ trợ.
- Chức năng giới thiệu app.

- Sửa lỗi.
- Build ứng dụng lên Firebase App Distribution để tester test lỗi.
Kết quả: Hoàn thành các chức năng trên.
Sprint 3:
- Thực hiện giao dịch nạp.
- In bill cho giao dịch nạp.
- Thực hiện giao dịch rút.
- In bill cho giao dịch rút.
- Kiểm tra và cập nhật số dư sau giao dịch.
- Thực hiện nhập thơng tin tài khoản ngân hàng.
- Xóa, sửa tài khoản ngân hàng.
- Danh sách tài khoản ngân hàng.
- Hỗ trợ tiếng Anh.
- Đăng xuất tài khoản.
- Sửa lỗi.
Kết quả: Hoàn thành chức năng về nạp rút, các nghiệp vụ thêm xóa sửa tài khoản
ngân hàng, thêm hỗ trợ đa ngôn ngữ (Anh/Việt).
13


Sprint 4:
- Thực hiện giao dịch mua.
- In bill cho giao dịch mua.
- Thực hiện giao dịch bán.
- In bill cho giao dịch bán.
- Hiển thị phí giao dịch.
- Các precheck dữ liệu để điều hướng người dùng sử dụng và nhập dữ liệu.
Kết quả: Hoàn thành chức năng về mua bán.
Sprint 5:
- Hiển thị lịch sử thông báo.

- Hiển thị nội dung thơng báo.
- Tích hợp FCM để nhận thơng báo trên điện thoại.
- Sửa lỗi và hồn thiện app.
- Cập nhật ứng dụng chạy trên IOS.
- Upload ứng dụng lên google play.
Kết quả: Ứng dụng ra mắt version 1.0 với các tính năng tối thiểu để sử dụng.

4. Các màn hình
Link tải ứng dụng: />
14


15


TỔNG KẾT

Như vậy, chỉ trong vòng 5 tuần ngắn ngủi, mọi người đã kịp hoàn thành một ứng
dụng chạy trên nền tảng IOS và Android. App đã có khá đầy đủ các tính năng đã đề ra
ban đầu đối với version 1. Do thời gian có hạn nên tính năng app còn đơn giản, thiết kế
chưa được đẹp như mong đợi. Nhưng do app phát triển theo từng module có tính kế thừa
nên sau này khi có thời gian sẽ có thể phát triển lên mức cao hơn.
Chân thành cảm ơn sự giúp đỡ của các anh/bạn đồng nghiệp tại REXBIX, sự nỗ
lực của mọi người để có thể hồn thành ứng dụng này. Cảm ơn thầy cô khoa CNPM đã
giúp em hoàn thành bài báo cáo này.

16




×