1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo thực tập xây dựng MOBILE APP quản lý ngày nghỉ phép

28 28 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 744,56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2 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é

Trang 1

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

Trang 2

2

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 quá 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 chuyên 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

Trang 3

3

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 hoà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

Trang 4

4

NHẬN XÉT CỦA KHOA

Trang 5

5

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

Trang 6

6

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

Trang 7

7

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

Trang 8

8

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 đoà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

Trang 9

9

• 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 toá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 toà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 toà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 toá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

Trang 10

10

• 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

Ngoà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 toá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

Trang 11

11

• 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

Trang 12

12

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 chuyên 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, 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

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, 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, 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 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 quá 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,

Trang 13

13

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ó

Trang 14

14

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

Ngoà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

Trang 15

15

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

Ngày đăng: 10/03/2022, 20:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w