sCó 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
XÂY DỰNG MOBILE APP QUẢN LÍ NGÀY NGHỈ PHÉP
Công ty thực tập: Công ty TMA Solutions
Người phụ trách hướng dẫn: Trần Nhựt Minh
Thực tập sinh: Bùi Tuấn Minh
MSSV: 17520107
TP. Hồ Chí Minh, 12 tháng 8 năm 2021
LỜI MỞ ĐẦU
Hiện tại, chúng ta chứng kiến sự phát triển chóng mặt của ngành cơng nghệ thơng tin và
các thiết bị di động, hàng loạt ứng dụng trên các thiết bị di động đã được ra đời, kéo theo đó là
trào lưu chuyển đổi các nghiệp vụ cũ sang nền tảng này. Điều đó có nghĩa là khơng loại trừ
nghiệp vụ quản lí. Khi quản lí cùng lúc các thơng tin lưu trữ khơng q phức tạp thì ứng dụng di
động lại trờ thành lợi thế và nhu cầu thiết yếu của mọi cá nhân .
Ngành lập trình ứng dụng di động gần như được sinh ra cùng với việc xuất hiện các thiết
bị di động, ngay cả thị trường thiết bị di động cũng đang ngày càng phát triển và hoàn thiện
hơn, người dùng mới vẫn liên tục gia tăng. Điều đó chứng minh rằng lĩnh vực này vẫn chưa bao
giờ là lỗi thời. Được tiếp cận từ sớm và lớn lên với chúng, giới trẻ sẽ là nguồn nhân lực quan
trọng cho sự phát triển của ngành lập trình ứng dụng di động sau này. Vì lý do này, em quyết
định chọn lập trình ứng dụng di động làm định hướng cho việc học tập của mình.
Sau ba năm học tập trên trường, để có thêm kinh nghiệm thực tế, cũng như muốn được
tham gia làm việc trong một mơi trường chun nghiệp. Vì vậy, em quyết định chọn TMA
Solutions - một môi trường lý tưởng, hiện đại - là nơi sẽ giúp em thực hiện được dự định này.
2
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TMA Solutions đã 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 anh chị trong nhóm,
em đã tiếp thu được những kiến thức quan trọng để có thể đảm nhiệm được vị trí Mobile
developer cho một dự án chính thức của cơng ty. Chân thành cảm ơn các anh chị trong nhóm đã
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 Trần Nhựt Minh, người hướng dẫn trực tiếp đã hướng dẫn, hỗ trợ
em rất nhiều về các kiến thức mới, giải thích chi tiết luồng hoạt động của dự án, 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 vấn đề phát sinh khi là người trực tiếp
đảm nhiệm dự án; đồng thời cảm ơn các anh trong nhóm Pipeline đã chỉ dẫn em về cách làm
việc hiệu quả, giúp đỡ em khi gặp kiến thức của các mảng khác để em có thể áp dụng vào dự án
mà mình tham gia. Mọi người cũng nhiệt tình giúp em rèn luyện những kỹ năng mềm 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. Bên cạnh đó, em
cũng cảm ơn các anh chị Developer, QC, Business, PM trong suốt thời gian qua đã tin tưởng và
nhiệt tình làm việc cùng em, chỉ bảo cho em những khiếm khuyết của mình cũng như dạy em
nhiều kiến thức mới.
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 hồn thành học phần thực tập này của mình.
Sinh viên thực hiện
Bùi Tuấn Minh
TpHCM, ngày 12 tháng 08 năm 2021
3
NHẬN XÉT CỦA KHOA
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4
MỤC LỤC
LỜI MỞ ĐẦU ................................................................................................................................2
LỜI CẢM ƠN ................................................................................................................................3
NHẬN XÉT CỦA KHOA .............................................................................................................4
MỤC LỤC......................................................................................................................................5
BẢNG HÌNH ẢNH ........................................................................................................................7
CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP.....................................................................8
1.1 Giới thiệu Công ty TMA Solutions ......................................................................................8
1.2 Sản phẩm của cơng ty ...........................................................................................................8
1.2.1
Dịch vụ .....................................................................................................................8
1.2.2
Lĩnh vực chính .........................................................................................................9
1.2.3 Cơng nghệ chính .........................................................................................................10
CHƯƠNG 2: NỘI DUNG THỰC TẬP .......................................................................................12
2.1 Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty ......................................................12
2.2 Nghiên cứu kỹ thuật ...........................................................................................................12
2.2.1 Các cơng cụ làm việc ..................................................................................................12
2.2.2 Tìm hiểu React Native ................................................................................................13
2.2.3 Tìm hiểu về Expo Framework.....................................................................................14
2.2.3 Tìm hiểu Redux & Redux Toolkit ..............................................................................15
2.2.4 Xây dựng ứng dụng demo ...........................................................................................16
2.2.5 Tham gia vào các dự án đang được thực hiện .............................................................16
2.2.6 Tham gia vào dự án .....................................................................................................17
2.3 Thực hiện project ................................................................................................................18
2.3.1 Lịch làm việc ...............................................................................................................18
CHƯƠNG 3: CHI TIẾT VỀ PROJECT.......................................................................................20
5
3.1 Giới thiệu về dự án .............................................................................................................20
3.1.1 Nội dung ......................................................................................................................20
3.1.2 Một số hình ảnh giao diện của ứng dụng ....................................................................22
3.2 Thực hiện ............................................................................................................................27
3.2.1 Người thực hiện...........................................................................................................27
3.2.2 Quá trình thực hiện ......................................................................................................27
TỔNG KẾT ..................................................................................................................................28
6
BẢNG HÌNH ẢNH
Hình - 1: Màn hình đăng nhập .....................................................................................................22
Hình - 2: Màn hình quên mật khẩu ..............................................................................................23
Hình - 3: Màn hình dashboard .....................................................................................................24
Hình - 4: Màn hình thơng tin cá nhân ..........................................................................................25
Hình - 5: Chỉnh sửa thơng tin cá nhân .........................................................................................26
7
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu Công ty TMA Solutions
TMA Solutions (gọi tắt TMA, tiếng Việt: Công ty TNHH Giải Pháp Phần Mềm Tường
Minh) là một công ty Việt Nam, kinh doanh các dịch vụ liên quan đến phát triển phần mềm.
TMA được thành lập từ năm 1997, hiện đang là công ty phần mềm hàng đầu Việt Nam với
2500 kỹ sư. Khách hàng là những tập đồn cơng nghệ cao hàng đầu thế giới đến từ 27 nước.
TMA hiện có 7 chi nhánh tại Việt Nam (6 tại thành phố HCM và 1 ở thành phố Quy Nhơn).
Phòng Trung tâm Đào Tạo TMA, Phòng Trung tâm Phát triển Sinh Viên, Phòng Trung tâm
sáng tạo TMA.
1.2 Sản phẩm của cơng ty
1.2.1 Dịch vụ
• Lập kế hoạch dự án (Project Planning): Lập kế hoạch dự án theo các mục tiêu và chiến
lược của khách hàng với các giai đoạn triển khai theo thứ tự ưu tiên, Lập chương trình
chuyển đổi số, chuyển qua mơ hình online, chuyển qua cloud…
• Tư vấn (Solution Consulting): Phân tích hệ thống hiện tại và đề xuất các giải pháp giúp
các công ty áp dụng các công nghệ mới để nâng cao năng lực cạnh tranh và hiệu quả hoạt
động
• Phát triển sản phẩm mẫu (Prototyping, Proof of Concept): Đánh giá tính khả thi của ý
tưởng, Phát triển sản phẩm mẫu trong thời gian ngắn nhất
8
• Nghiên cứu và phát triển (R&D): Đánh giá và thử nghiệm các công nghệ và phương
pháp khác nhau để đề xuất giải pháp khả thi và phù hợp nhất
• Thiết kế giao diện (UX/UI Design): Thiết kế giao diện Web, smart phone,máy tính bảng,
Cải tiến giao diện để tăng tính tương tác và trải nghiệm người dùng
• Phát triển phần mềm (Software Development): Phát triển phần mềm với các cơng nghệ
khác nhau, Nâng cấp phần mềm sẵn có
• Kiểm thử phần mềm (Software Testing): Đánh giá chất lượng phần mềm với nhiều tiêu
chí khác nhau, Kiểm thử tự động
• Chuyển đổi hệ thống (Porting & Migration): Chuyển đổi hệ thống cũ sang các công nghệ
mới để tăng hiệu suất, Chuyển đổi dữ liệu
• Quản trị hệ thống (IT Managed Services): Tư vấn, thiết kế hệ thống mạng, máy tính,
đường truyền, bảo mật, Quản trị về máy chủ và điện tốn đám mây, hỗ trợ và bảo trì các
ứng dụng, Giải pháp điều hành và giám sát hệ thống mạng (NOC - Network Operation
Center), Giám sát hệ thống 24/24, Sửa chữa và khắc phục sự cố, Dịch vụ bảo mật (Securiy
Services)
• Dịch vụ bảo mật (Sercurity Services): Kiểm tra, đánh giá và cải tiến hệ thống an tồn
thơng tin, Xây dựng hệ thống giám sát an ninh mạng (SOC - Security Operation Center),
Nâng cấp và chuẩn hóa hệ thống an tồn thơng tin
1.2.2 Lĩnh vực chính
• Tài chính, Ngân hàng: Quản lý tài sản, Thị trường vốn, Quản lý quỹ, Quản lý dịng tiền,
Phân tích tài chính, Quản trị tài chính doanh nghiệp, Thanh tốn qua thiết bị di động, Ví
điện tử, Tích hợp các tiện ích và dịch vụ của ngân hàng
• Thương mại điện tử và phân phối: Tư vấn, thiết kế, phát triển và triển khai hệ thống phần
mềm trọn gói về thương mại điện tử, Quản lý hoạt động phân phối sản phẩm, Phân tích
hành vi khách hàng, Dự báo doanh số, Điều phối và quản lý tại điểm bán, Theo dõi, lưu trữ,
tích hợp, quản lý và phân tích dữ liệu
9
• Bất động sản: Xây dựng sàn giao dịch bất động sản, Tài chính trong lĩnh vực bất động
sản, Tịa nhà thơng minh, Phân tích video, Số hóa bản vẽ xây dựng
• Bảo hiểm: Quy trình bảo hiểm, Hỗ trợ bán bảo hiểm, Đào tạo bảo hiểm, Quản trị rủi ro,
Phân tích dữ liệu, Quản lý khách hàng
Ngồi ra cơng ty còn hoạt động trên nhiều lĩnh vực khác như Sức khỏe & Y tế, Giáo dục,
Viễn thông, sản xuất, Nơng nghiệp và chế biến thực phẩm, Cơng nghệ Ơ tô, Vận tải &
Logistics, Khách sạn & Du lịch
1.2.3 Công nghệ chính
• Trí tuệ nhân tạo: Deep learning, Machine learning, Reinforcement learning, Image
recognition, Pattern Recognition NLP
• Ứng dụng điện thoại (Mobile): NFC, Bluetooth, Beacon, e-Pub3, pdf, mp3, mp4, 3D,
OpenGL, OGRE 3D, Offline Map, Camera, SIP, RTP, SDP, M2M, Push Notification,
Mobile DRM, QR Code, VoIP, MjSIP, PjSIP, iCloud, Dropbox, SkyDrive, BYOD, Mobile
Security, OpenStreet Map, AR, Voice Recognition and Control, SMS, Soft Phone, Call
Control, Linux kernel, Smart TV, …
• Front-end: HTML5, CSS3, AngularJS, Bootstrap, NodeJS, ReactJS, ReactNative,
Redux, …
• Devops: CI/CD/DevOps, Jenkins, Docker, Ansible, Git, Maven, Chef, Bamboo
• Phần mềm nhúng (Embeded software): FPGA, OS,
MCU, Interface, Firmware &
Device drivers, Wireless
• Điện tốn đám mây (Cloud): Amazon Web Services (AWS), MS Azure, SQL Azure,
Azure Mobile, Signal R, Notification Hub, Azure Service Bus, Google Cloud Platform
(GCP), Heroku, VMWare
• IoT và thiết bị thơng minh: Smart Devices, Smart Camera, Drone, IoT Devices Testing,
Smart Agriculture, Asset Tracking, Vehicle Tracking
10
• Viễn thông (Telecom network): Enterprise, Communications, Carrier Communications,
Wireless Network, Networking EMS, NMS, OSS/BSS
• Kiểm thử phần mềm: Test Automation, Performance and Traffic Test, API Test, Security
Test, Cloud Test, Big Data Test
• Java: J2EE, Web Desktop, Application Server, Web Services & SOA, Business Process
& Workflow
• Open source: PHP, Ruby, Python, Perl, Symfony, Laravel, Django, Magento, Drupal
11
CHƯƠNG 2: NỘI DUNG THỰC TẬP
Đợt thực tập với chủ đề “Xây dựng ứng dụng mobile” 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 mobile, về cách một dự án được triển khai và hiểu về
luồng chạy của ứng dụ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.
2.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 (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 .
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 TMA Solutions, 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 và các công cụ giao tiếp nội bộ 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.2 Nghiên cứu kỹ thuật
2.2.1 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.
Trong thời gian này, người hướng dẫn đã 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ư Jira – sử dụng trong
q trình quản lý cơng việc khi làm việc nhóm, Figma – công cụ vẽ wireframe phục vụ cho
công việc, Zimbra - sử dụng để giao tiếp nội bộ trong công ty, Gitlab – hệ thống quản lí source
code, các cơng cụ vẽ sơ đồ và luồng online như draw.io, lucidchart, ...
12
Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả: Có thể dùng các cơng cụ để vẽ các yêu cầu đơn giản, biết sử dụng Jira để lưu trữ
các tài liệu chung khi làm việc nhóm.
2.2.2 Tìm hiểu React Native
Thời gian: 2 tuần
Nội dung: Được training về các khái niệm cơ bản và tối quan trọng của React Native, sử
dụng cho việc thiết kế UI.
React Native được viết hoàn toàn bằng TypeScript và tuân theo đặc tả ECMAScript 6.
Nghĩa là nó hỗ trợ ES6 Module, class framework...
React Component:
React Components là một thành phần quan trọng nhất trong React, nó giúp phân chia các
thành phần giao diện (UI) ra các thành phần nhỏ hơn. Có 2 loại components đó là functional
component và class component, mỗi loại đều được sử dụng tùy vào mục đích của nó
Props:
Props là một object được truyền vào trong một components, mỗi components sẽ nhận vào
props và trả về react element.
State:
State là một object có thể được sử dụng để chứa dữ liệu hoặc thơng tin về components, có
thể được thay đổi bất cứ khi nào mong muốn.
Thực hiện:
Đọc document từ trang chủ React Native và một vài bài viết tham khảo của các blogger.
Tham khảo từ những chia sẻ của mentor.
Làm sản phẩm demo cuối tuần.
Kết quả:
13
Nâng cao kỹ năng lập trình với React Native
Có được những kiến thức quan trọng cho việc lập trình ứng dụng crossplaform với React
Native.
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.
2.2.3 Tìm hiểu về Expo Framework
Thời gian: 4 ngày
Nội dung: Tìm hiểu về cách tích hợp các Expo component vào trong một dự án sử dụng
react native
Expo là một framework dùng để phát triển nhanh các ứng dụng React Native. Expo cung cấp
một lớp nằm trên cùng của React Native API để giúp chúng dễ sử dụng và quản lý. Nó cịn cung
cấp các cơng cụ giúp bạn dễ dàng khởi tạo và kiểm thử các ứng dụng React Native. Sau cùng,
nó cung cấp các thành phần UI và các dịch vụ thường chỉ có sẵn khi bạn cài đặt một thành phần
React Native của bên thứ ba. Tất cả đều được cung cấp thông qua Expo SDK.
Những điểm hạn chế khi sử dụng Expo:
Expo chỉ hỗ trợ những API mà Expo SDK hỗ trợ, có nghĩa là, nếu ứng dụng đang viết cần
tương tác với Bluetooh, vốn khơng được hỗ trợ bởi Expo SDK thì bạn phải viết code React
Native thuần luôn, hoặc tự viết thêm native code sử dụng thư viện ExpoKit.
Sử dụng Expo là chết dính với bộ toolset của nó. Một số đồ chơi sẽ không chạy được với
Expo, trong trường hợp cần xài tới, phải eject cái app ra khỏi Expo, mà khi đã eject thì sẽ ko thể
có inject ngược lại.
Ứng dụng Expo chỉ build online. Expo cung cấp một công cụ command-line là Exp, cho
phép việc build lên Expo Server, một khi hoàn tất, một URL để download .apk hoặc ipa.
Mặc dù nghe có vẻ khá hạn chế, nhưng thực sự Expo rất mạnh, rất nhiều thứ hỗ trợ sẵn
cho Android và iOS.
Thực hiện: Làm ra các bài thực hành, kiểm tra kiến thức đã học
14
Kết quả:
Làm quen và biết được công dụng và cách sử dụng các công cụ phục vụ trong công việc.
2.2.3 Tìm hiểu Redux & Redux Toolkit
Thời gian: 9 ngày
Nội dung: Tìm hiểu thư viện Redux và bộ cơng cụ Redux Toolkit, cách tích hợp vào trong
một dự án sử dụng React Native.
Redux được định nghĩa là một predictable state management tool dành riêng cho các ứng
dụng của Javascript. Redux se hỗ trợ viết ứng dụng hoạt động một cách nhất quán, chạy trong
môi trường khác nhau và dễ hơn khi kiểm thử.
Actions:
Có thể hiểu Actions là các sự kiện và là cách truyền dữ liệu từ ứng dụng đến Redux store.
Các dữ liệu xuất hiện thông qua các tương tác của user hoặc qua ứng dụng, API hoặc từ Form
Submission.
Reducers:
Reducers là những function dạng nguyên thủy và chúng thường lấy state hiện tại của ứng
dụng. Từ đó, thực hiện một action rồi trả về dưới dạng một state mới. Các states này sẽ được
lưu trữ như objects và chúng sẽ định rõ các state của ứng dụng thay đổi khi phản hồi một action
gửi đến store.
Store:
Store là nơi lưu trạng thái ứng dụng và là duy nhất trong bất kỳ ứng dụng Redux nào.
Thực hiện:
Đọc document từ trang chủ Redux và một vài bài viết tham khảo của các blogger.
Tham khảo từ những chia sẻ của mentor.
Làm sản phẩm demo
15
Kết quả:
Hiểu được cách thức hoạt động của Redux.
Biết cách tích hợp vào một ứng dụng sử dụng cơng nghệ React Native.
2.2.4 Xây dựng ứng dụng demo
Thời gian: 12 ngày
Nội dung: Xây dựng ứng dụng quản lý cửa hàng bán thức ăn trên thiết bị di động, áp dụng
các kiến thức đã học.
Thực hiện:
Tìm hiểu yêu cầu, lập lên các bảng yêu cầu chi tiết cũng như đề giải pháp cho các vấn đề
phát sinh.
Thiết kế các mơ hình tổng thể về phần mềm,
Xây dựng ứng dụng.
Kiểm thử và sửa đổi, tối ưu hóa tốc độ xử lý.
Kết quả:
Hiểu được quy trình cơ bản để xây dựng một ứng dụng.
Tự tìm hiểu yêu cầu, đưa ra giải pháp xử lý và lập kế hoạch cụ thể.
2.2.5 Tham gia vào các dự án đang được thực hiện
Thời gian: 14 ngày
Nội dung: Tham gia trực tiếp vào các dự án đang được thực hiện và học hỏi kiến thức thực
tế từ team.
Cách các team, bộ phận làm việc với nhau trong một dự án thực tế.
Nắm được trình tự các bộ phận làm việc với nhau, từ bộ phận Business, đến Product, sang
IT từ lúc sản phẩm trên test cho đến khi sản phẩm lên production.
16
Cách giải quyết khi có vấn đề xuất hiện trong q trình làm việc.
Cách đọc các file tài liệu mơ tả dự án:
Đọc file API để biết được dịch vụ cần thể hiện những thơng tin gì, cần lấy những thơng tin
gì, và hiển thị lên màn hình cho người dùng như thế nào cho hợp lý.
Đọc file tài liệu về đối tác để hiểu rõ quy trình nghiệp vụ của đối tác để đảm bảo sản phẩm
theo đúng yêu cầu.
Thực hiện:
Đóng góp ý kiến khi thấy các vấn đề xử lý nội bộ chưa hợp lý.
Mạnh dạn hỏi, trao đổi và đề xuất ý kiến với các bộ phận liên quan trong team dự án.
Chỉnh sửa tài liệu sau khi team đã thống nhất ý kiến và gửi cho người hướng dẫn xem xét
trước khi đưa ra bản cuối cùng cho team.
Kết quả:
Biết được cách đọc tài liệu hiệu quả, lưu ý được những điểm chính cần có.
Hồn thành việc chỉnh sửa tài liệu cho các dịch vụ đang thực hiện.
2.2.6 Tham gia vào dự án
Thời gian: 14 ngày
Nội dung: Trực tiếp tham gia lập trình các màn hình theo yêu cầu mới.
Tìm hiểu API và file tài liệu:
Đọc file API để biết các thông tin cần thể hiện lên màn hình cho người dùng.
Đọc file tài liệu để nắm nghiệp vụ, và cách thể hiện các thông tin trong API.
Vẽ wireframe thể hiện các thông tin lên màn hình.
Viết tài liệu cho dịch vụ.
Lập trình các màn hình theo thiết kế đã thống nhất
17
Thực hiện:
Vẽ được wireframe cho dịch vụ mới trên Figma.
Viết tài liệu cho dịch vụ, gửi cho người hướng dẫn xem xét và gửi mail xác nhận chính thức
cho team và các developer thực hiện cài đặt dự án theo tài liệu, QC sẽ test dự án cũng theo tài
liệu đã gửi.
Kết quả: Đã có thể tự xây dựng các màn hình từ những bước đầu tiên.
2.3 Thực hiện project
Sau hai tuần tìm hiểu về các kiến thức mới, thơng qua thực hành thì thực tập sinh đã nắm được
những kiến thực cơ bản về React Native. Trong các tuần còn lại, trainer đã hướng dẫn thực tập
sinh áp dụng những kiến thức đã học để tham gia vào project mobile app quản lí.
Chi tiết dự án sẽ được nói ở phần sau.
2.3.1 Lịch làm việc
Tuần
Cơng việc
Người hướng dẫn
- Tìm hiểu về công ty, cách tổ chức Trần Nhựt Minh
Mức độ hồn
thành
100%
của cơng ty.
1
- Làm quen với các cơng cụ làm việc
trong công ty.
- Học cách trao đổi, làm việc qua
Zimbra và Skype
Trần Nhựt Minh
100%
- HTML, CSS, Javascript & Practice
Trần Nhựt Minh
100%
- Typescript
Trần Nhựt Minh
100%
- Training plan
2
- Agile
- Demo CRUD
3
4
- React Native Basic + React Router
Native & Practice
18
5
6
7
Trần Nhựt Minh
100%
- Redux & Redux Toolkit & Practice
Trần Nhựt Minh
100%
- Sharing Teamwork skills
Trần Nhựt Minh
100%
Trần Nhựt Minh
100%
Trần Nhựt Minh
100%
Trần Nhựt Minh
100%
Trần Nhựt Minh
100%
Trần Nhựt Minh
100%
- Expo Framework & Practice
- Nativebase UI Library
- List item page
- Cart page
- Account & Login page
- Manage account information feature
8
- Account info screen
- Edit info screen
- Edit avatar
- Validation
9
- Mark * for required fields
- Dashboard
10
11
12
- Navigation
- Fix bugs
- Integrate Firebase Cloud Messaging
- Auto send SMS
- List notification history
- Fix bugs
19
CHƯƠNG 3: CHI TIẾT VỀ PROJECT
3.1 Giới thiệu về dự án
Với đề tài “Xây dựng ứng dụng mobile quản lý ngày nghỉ phép”, trainee phải phát triển một
ứng dụng mobile tập trung vào việc quản lý ngày nghỉ phép. Đây là ứng dụng cho doanh nghiệp
tạo ra và bán các gói dịch vụ, khi đã mua có thể chia sẽ sử dụng nội bộ (ngang hàng) hoặc tiếp
tục sang nhượng tạo ra phân cấp theo mơ hình tam giác. Tất nhiên phân chia ở đây có điểm
dừng trong 5 cấp.
Với việc bán lại các gói dịch vụ phải đảm bảo tuân theo các policy của cấp trên, cũng như bị
giới hạn một số quyền quản lí.
3.1.1 Nội dung
Danh sách tác nhân của hệ thống:
STT
Tên tác nhân
Ý nghĩa
1
SuperAdmin
Là người quản lí tồn quyền của dự án, chịu trách
nhiệm kiểm sốt tất cả sản phẩm, ở mọi cấp bậc
trong mơ hình.
2
Tenant
Người quản trị sản phẩm ở cấp bật ngang hàng và
khách hàng của mình sau khi sang nhượng dịch
vụ.
3
Account
Người quản trị sản phẩm mà mình đang sử dụng
Các tính năng chính:
Ý nghĩa
STT
Use case
1
Đăng nhập và quản lí tài Cho phép người dùng truy cập vào hệ thống. Sửa
khoản
đổi mật khẩu hoặc thông tin cá nhân cũng như
20
ngôn ngữ phù hợp.
2
Roles and Permission
Phân quyền cho tài khoản đi kèm với các mức độ
truy cập, quản lí của tài khoản đó.
3
Dashboard
Thống kê các kết quả quản lí dưới nhiều dạng đồ
thị.
4
User Management
Quản lí thơng tin nhân viên và thơng tin lịch làm
việc của họ.
5
Leave Management
Quản lí việc nghỉ phép của nhân viên và chi tiết
các thông tin.
21
3.1.2 Một số hình ảnh giao diện của ứng dụng
Hình - 1: Màn hình đăng nhập
22
Hình - 2: Màn hình quên mật khẩu
23
Hình - 3: Màn hình dashboard
24
Hình - 4: Màn hình thơng tin cá nhân
25