You are on page 1of 27

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC QUY NHƠN


KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO KẾT QUẢ THỰC TẬP TỐT NGHIỆP

Sinh viên thực hiện: Đào Văn Lợi

MSSV: 4051050188

Lớp: K40A CNTT

Cơ sở thực tập: FPT Sofrware Quy Nhơn

Địa chỉ: tầng 7, An Phú Thịnh Plaza, 52A Tăng


Bạt Hổ, phường Lê Lợi

Người hướng dẫn: Đinh Thị Mỹ Cảnh

BÌNH ĐỊNH, 2021


1
LỜI CẢM ƠN
Trong thời gian 3 tháng thực tập ở công ty, em đã nhận được sự giúp đỡ rất nhiều từ
mọi người.
Lời đầu tiên, em xin gửi lời cảm ơn đến công ty FPT software Quy Nhơn đã tổ chức
chương trình thực tập cho chúng em. Nhờ đó, chúng em có cơ hội được tiếp xúc với
môi trường làm việc thực tế, được tiếp xúc với các anh chị có nhiều kinh nghiệm và
nhận được nhiều lời chia sẻ, góp ý đầy ý nghĩa. Bên cạnh đó, em cũng được thực hành
làm việc trong môi trường FPT. Với sự giúp đỡ nhiệt tình và tận tâm của các anh chị,
đặc biệt là anh Nguyễn Chí Phương và Phạm Minh Tiến trong suốt thời gian 3 tháng
thực tập, em đã có thời gian làm việc nhóm, chia sẻ kiến thức, học hỏi được nhiều kinh
nghiệm, kĩ năng và học được nhiều công nghệ mới có thể áp dụng sau này khi ra
trường.
Em cũng gửi lời cảm ơn đến lãnh đạo trường đại học Quy Nhơn, lãnh đạo khoa
công nghệ thông tin trường đại học Quy Nhơn đã tổ chức học phần này để em có cơ
hội tìm kiếm công ty thực tập và trải nghiệm thực tế.
Em xin cảm ơn cô Đinh Thị Mỹ Cảnh đã hướng dẫn, hỗ trợ nhiệt tình em trong
khoảng thời gian thực tập vừa qua.
Em xin chân thành cảm ơn.

2
MỤC LỤC

I. GIỚI THIỆU CÔNG TY FPT SOFTWARE QUY NHƠN........................5


1. Giới thiệu công ty.................................................................................5
2. Lịch làm việc.........................................................................................7
II. NỘI DUNG THỰC TẬP: CƠ CHẾ XÁC THỰC JWT, JHIPSTER,
ANGULAR7
1. Cơ chế xác thực JWT (Json Web Token)...........................................7
1.1 Thành phần.......................................................................................8
1.2 Khi nào nên sử dụng.......................................................................10
1.3 Cách Json làm việc..........................................................................11
2. Jhipster................................................................................................12
2.1 Jhipster là gì?..................................................................................12
2.2 Server side.......................................................................................12
2.3 Client side........................................................................................13
2.4 Deployment......................................................................................14
2.5 Tại sao lựa chọn Jhipster................................................................15
2.6 Tạo project đầu tiên với Jhipster...................................................15
3. Angular................................................................................................16
3.1 Angular là gì?..................................................................................16
3.2 Các component trong Angular.......................................................17
3.3 Liên kết các component trong Angular.........................................18
3.4 Định nghĩa metadata với decorator...............................................19
3.5 Angular module...............................................................................19
III. NỘI DUNG CÔNG VIỆC ĐƯỢC PHÂN CÔNG...............................20
1. Học nội quy, quy định của công ty....................................................20
2. Tìm hiểu về Angular...........................................................................21
3. Xây dựng một Project demo (User Management)............................21
3.1 Trang Đăng Nhập...........................................................................21
3.2 Trang Đăng Ký................................................................................22

3
3.3 Trang Home....................................................................................22
3.4 Trang Quản lý sinh viên.................................................................23
3.5 Trang Quản lý lớp...........................................................................23
4. Tham gia phát triển dự án AkaIspection..........................................24
IV. KẾT QUẢ ĐẠT ĐƯỢC.........................................................................26
1. Nội dung lý thuyết..............................................................................26
2. Kỹ năng thực hành.............................................................................26
3. Kinh nghiệm thực tiễn........................................................................27
4. Công việc đã đóng góp.......................................................................27

4
I. GIỚI THIỆU CÔNG TY FPT SOFTWARE QUY NHƠN

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


- Tên đơn vị thực tập: Công ty FPT Software Quy Nhơn.
- Địa chỉ: Công ty FPT Software Quy Nhơn, Tầng 7, Tòa nhà An Phú Thịnh, Tp.
Quy Nhơn.
- Lịch sử phát triển:

Được thành lập năm 1988 bởi một nhóm các nhà khoa học trẻ trong các lĩnh vực
Vật lý, Toán, Cơ, Tin học chỉ sau một năm, FPT đã thành lập một bộ phận tin học
mang tên ISC (Informatic Service Center).

Đến tháng 12 năm 1994, khi đã đủ lớn, ISC được tách thành các bộ phận chuyên
sâu về dự án, phân phối, phần mềm… Bộ phận phần mềm lúc đó có tên là FSS (FPT
Software Solutions - tên tiếng Việt là Xí nghiệp Giải pháp Phần mềm FPT).

Từ 1994 đến 1998, FSS tiếp tục phát triển và cung cấp các giải pháp phần mềm
cho các lĩnh vực Ngân hàng, Kế toán, Thuế, Hải quan, Công an.

Cuối năm 1998 đầu 1999, sau khi chiến lược xuất khẩu phần mềm được định hình,
một nhóm chuyên gia được tách ra từ FSS để thành lập FSU1 (FPT Strategic Unit #1)
như bộ phận chịu trách nhiệm mũi nhọn trong sứ mệnh Toàn Cầu Hoá. FSU1 chính là
tiền thân của FSOFT ngày nay.

Năm 2001 được đánh dấu bằng các hợp đồng OSDC với Mỹ và đặc biệt là OSDC
với NTT-IT - khách hàng Nhật bản đầu tiên của FSOFT. Năm 2001 cũng là năm
FSOFT bắt đầu dự án CMM-4, với mục tiêu đạt chứng chỉ CMM mức 4 trong vòng
một năm. FSOFT đạt CMM mức 4 vào tháng 3/2002, trở thành công ty đầu tiên ở khu
vực Đông Nam Á đạt chứng chỉ này. Năm 2002 cũng là năm FSOFT củng cố lại sơ đồ
tổ chức, bằng việc thành lập các Trung tâm sản xuất và các Phòng chức năng. Cuối
2002, lần đầu tiên doanh số FSOFT vượt ngưỡng 1 triệu USD.

Năm 2003 đem về cho FSOFT nhiều khách hàng mới, đặc biệt là các khách hàng
lớn của Nhật như Hitachi, Sanyo, Nissen, IBM Japan. FSOFT thành lập Văn phòng tại
thành phố Hồ Chí Minh.

5
Đầu năm 2004, FSOFT trở thành Công ty cổ phần phần mềm FPT. Trụ sở tại Tp.
Hồ Chí Minh được chuyển về toà nhà e-town. FSOFT đạt CMM mức 5 (mức cao nhất)
vào tháng 3. Để phục vụ tốt hơn các khách hàng Nhật, Văn phòng đại diện của FSOFT
được mở tại Tokyo. Năm 2004 cũng là năm gặt hái nhiều thành công của Công ty
Phần mềm FPT, với doanh số xuất khẩu năm 2004 tăng trưởng hơn 200% so với năm
2003.

Năm 2005 là năm đánh dấu bước phát triển của công ty về mọi mặt, giúp FSOFT
khẳng định vị trí công ty phần mềm hàng đầu Việt Nam. Tháng 8/2005 thành lập chi
nhánh Đà Nẵng, tháng 11 thành lập công ty FSOFT JAPAN tại Tokyo, tháng 12 khai
trương Trung tâm Tuyển dụng và Đào tạo tại toà nhà Simco, Hà nội. Hết năm 2005,
FSOFT tăng trưởng 114% doanh số, trở thành công ty phần mềm đầu tiên của Việt
Nam có 1000 nhân viên.

Tháng 10, năm 2007, các Trung tâm sản xuất phần mềm được chuyển đến làm
việc tập trung tại Tòa nhà FPT tại Phạm Hùng (Hà nội). Cuối năm 2007, doanh số của
Fsoft đạt 29,6 triệu USD, tăng 79% so với doanh thu năm 2006; số nhân viên chính
thức là 2,287 người.

Năm 2008 diễn ra với việc thành lập 4 Công ty chi nhánh tại Pháp, Malaysia, Mỹ,
Australia doanh số đạt 42 triệu USD với 2600 nhân viên.

FSOFT có hệ thống khách hàng rộng lớn trên toàn thế giới ở Mỹ, Châu Âu, Nhật Bản,
và các nước Châu Á Thái Bình Dương (Malaysia, Singapore, Australia). Trong chiến
lược gia nhập hàng ngũ những nhà cung cấp dịch vụ phần mềm hàng đầu thế giới,
công ty tập trung phát triển nguồn nhân lực chất lượng cao – giá trị cốt lõi đóng góp
vào tăng trưởng của công ty. Với 80% nhân viên FSOFT thuần thục về tiếng Anh và
hơn 200 người sử dụng tiếng Nhật, FPT Software không ngừng tìm kiếm và tạo cơ hội
cho những tài năng trẻ. Mục tiêu trong năm 2009, Fsoft sẽ đạt doanh thu 47 triệu USD
với số nhân viên 2600 người.

FPT Software chi nhánh Quy Nhơn được thành lập vào ngày 16/7/2018 với 50
CBNV đầu tiên. Văn phòng đầu tiên toạ lạc tại số 8 đường Biên Cương, phường Ngô
Mây, TP Quy Nhơn, tỉnh Bình Định. Cuối thành 6 năm 2019, 200 CBNV đã chuyển
về trụ sở mới tại tầng 7, An Phú Thịnh Plaza, 51A Tăng Bạt Hổ, phường Lê Lợi.

6
Thành lập tròn một năm, đến cuối năm 2018, nhân sự của đơn vị đã chạm mốc 200
người. Đơn vị đặt mục tiêu Leng Keng tăng số lượng nhân sự chạm mốc 500 người,
đưa đơn vị trở thành trung tâm nguồn lực phát triển mảng AI của FPT Software.

2. Lịch làm việc


- Thời gian thực tập: Từ 01/03/2021 đến 14/05/2021.

- Từ thứ 2 đến thứ 6


 Sáng: 08:00 – 12:00.
 Chiều: 13:00 – 17:00.

II. NỘI DUNG THỰC TẬP: CƠ CHẾ XÁC THỰC JWT, JHIPSTER,
ANGULAR

1. Cơ chế xác thực JWT (Json Web Token)


Trước hết hãy tìm hiểu 1 chút về authentication:

 Sử dụng session-cooker để xác thực thông tin của người dùng:

Sử dụng session-cooker để xác thực thông tin của người dùng.


7
Cách thức này hoạt động tốt trên web, cụ thể là trên các browser khi mở rộng các nền
tảng thì cách này bộc lộ những ưu điểm của nó:

Khi mở rộng cho các Native app cụ thể là android hoặc ios thì session không tồn tại,

 Cách giải quyết: xây dựng 1 hệ thống backend cho native mà cách thức hoạt
động y trang bên web.

Viết 2 lần cho 1 chức năng, khi có 100 hay 1000 chức năng thì sao?

 Có thể tách ra 1 module riêng cho phần Native nhưng dù sao vẫn dư thừa code
ở phần xác thực.

Khắc phục nhược điểm đó thì JWT ra đời và đần đc sử dụng thay thế cho session.

Khái niệm: “JWT là một JSON object được định nghĩa trong chuẩn RFC 7519 như là
một cách an toàn để trao đổi thông tin giữa hai bên. Và Token thì bao gồm một header,
một payload và một chữ ký.”

JWT là: phương tiện chuyển giao giữa 2 bên client- server, các thông tin được định
dạng bằng chuỗi Json.

1.1 Thành phần


Có 3 phần: header, payload, signature. Các thành phần được ngăn cách bằng dấu “.”.

Ta có 1 chuỗi JSON như sau: header.payload.signature Có 3 phần: header,


payload, signature. Các thành phần được ngăn cách bằng dấu “.”.

8
Thành phần của JWT

Ta có 1 chuỗi JSON như sau: header.payload.signature.

- Header: chứa kiểu dữ liệu và thuật toán sử dụng để mã hóa ra chuỗi JWT.

Vd:

"typ": "JWT",

"alg": "HS256"

Trong đó:

“typ” (type) chỉ ra rằng đối tượng là một JWT.

“alg” (algorithm) xác định thuật toán mã hóa cho chuỗi là HS256.

9
- PayLoad: chứa các thông tin mình muốn đặt trong chuỗi token.
Vd:
{
"user_name": "admin",
"user_id": "1513717410",
"authorities": "ADMIN_USER"
}
Không nên đặt quá nhiều thông tin vì có thể làm trễ khi server xác nhận một Token
quá dài.
- Signature: phần chữ ký sẽ đc tạo ra bằng cách mã hóa các phần header, payload
kèm theo một khóa bí mật (secret).
 Data = base64urlEncode (header) + "." + base64urlEncode payload).
 Signature = Hash (data, secret).
 Base64UrlEncoder: thuật toán mã hóa header và payload.
Vd: khi dùng để mã hóa thì ta được 1 chuỗi như sau:
 Header: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
 Payload:
eyJhdWQiOlsidGVzdGp3dHJlc291cmNlaWQiXSwidXNlcl9uYW1lIjoiYWRtaW
4iLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiZXhwIjoxNTEzNzE và
 Signature: 9nRhBWiRoryc8fV5xRpTmw9iyJ6EM7WTGTjvCM1e36Q.
 Ta đc một chuỗi JWT hoàn chỉnh:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidGVzdGp3dHJlc291cmNla
WQiXSwidXNlcl9uYW1lIjoiYWRtaW4iLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiX
SwiZXhwIjoxNTEzNzE.9nRhBWiRoryc8fV5xRpTmw9iyJ6EM7WTGTjvCM1e36Q.

1.2 Khi nào nên sử dụng


Trong Authentication: khi người dùng đăng nhập vào hệ thống thì những request
tiếp theo sẽ chứa thêm mã JWT, điều này giúp người dùng có quyền truy cập vào các
URL, server, và resource mà token cho phép, và không bị ảnh hưởng bởi Cross-Origin
Resource sharing do nó không sử dụng cookie.

10
Trong trao đổi thông tin: trao đổi thông tin an toàn vì có phần signature của nó,
phía người có thể biết ai gửi cho mình nhờ vào signature, mà phần chữ kí đc tạo bằng
việc kết hợp giữa phần header và payload -> xác định đc chữ ký có bị giả tạo hay
không.

1.3 Cách Json làm việc

Flow của JWT trong bài toán xác thực.

Khi user đăng nhập thành công thì server trả về 1 chuỗi jwt cho browser, và được
lưu lại trong browser (thường thì lưu dưới localstorage hoặc cooker thay cho session),
khi user muốn truy cập vào 1 url có bảo mật Browser sẽ gửi token JWT này trong
Header Authorization, Bearer schema của request gửi đi.

Authorization: Bearer <token>

Đây là cách mà stateless (phi trạng thái) authentication làm việc, trạng thái của
user không được lưu trong bộ nhớ của Server mà được đóng gói hẳn vào trong JWT.
Server sẽ kiểm tra Token JWT này có hợp lệ hay không (bởi vì JWT có tính chất self-
contained, mọi thông tin cần thiết để kiểm tra JWT đều đã được chứa trong Token
JWT).

11
Do tính chất stateless nên chúng ta không còn phải lo lắng về domains nào được
sử dụng cho API của ta nữa, như không còn gặp rắc rối với CORS (Cross-Origin
Resource Sharing) vì nó không sử dụng cookies.

2. Jhipster
2.1 Jhipster là gì?
Nói một cách đơn giản, Jhipster (viết tắt của Java Hipster) là cách đơn giản để
chúng ta tạo ra một project xung quanh những công nghệ được ưa thích nhất với
Spring technologies và Angular/React. Khi chúng ta bắt đầu dự án chúng ta sẽ quan
tâm đến 3 khía cạnh:

- Server side stack sẽ trông như thế nào?


- Client side stack sẽ trông như thế nào?
- Làm sao để chúng ta có thể deploy project của chúng ta?

2.2 Server side


Khi chúng ta bắt đầu build phần backend có những câu hỏi mà chúng ta quan tâm đó
là:

- Ngôn ngữ chúng ta lựa chọn là gì?


- Tầng dữ liệu sẽ như thế nào?
- Hệ thống sẽ bảo mật ra sao?
- Khả năng bảo trì và mở rộng hệ thống?
- Cách cung cấp API document?
- Kiểm thử ứng dụng thế nào? Câu trả lời sẽ có khi bạn nhìn vào danh sách công
nghệ mà JHipster cung cấp:

12
2.3 Client side
Với những framework frontend:

13
2.4 Deployment
Deply dự án với:

14
2.5 Tại sao lựa chọn Jhipster
Với những gì đã nêu ở trên, chúng ta sẽ dễ dàng có được một project đủ mạnh mẽ
đầy đủ những thứ cơ bản để bắt đầu với thời gian nhanh nhất.

2.6 Tạo project đầu tiên với Jhipster


Những gì cần có để bắt đầu tạo một project đầu tiên với Jhipster:

- Cài đặt Java 8 Oracle website.


- Cài đặt Node.js Node.js website.
- Cài đặt Yeoman: npm install -g yo.
- Cài đặt JHipster: npm install -g generator-jhipster.

Tạo project:

Thực hiện trên Terminal/cmd:

- Tạo 1 thư mục trống là nơi sẽ chứa project. mkdir myapplication.


- Chuyển đến thư mục vừa tạo cd myapplication/.
- Generate ứng dụng: Jhipster.
- Lựa chọn những thứ phù hợp với project của mình.

Trong đó

- Backend: Spring Boot + Spring Security.


- Database:
- Mysql (production).
- H2 with disk-based (development).

15
- Frontend: Bootstrap + SASS + Angular 7 (hoặc thấp hơn tùy vào phiên bản
Jhipster cài đặt ở trên) Sau khi chạy xong bạn sẽ nhận được kết quả như bên
dưới. Đó cũng là hướng dẫn để bạn build project của mình trên local.

Những lưu ý khi chọn trong phần config project ở trên:

 Jhipster hỗ trợ bạn setup đa ngôn ngữ trong project.


 Jhipster đã tạo cho project với cả môi trường của development và môi
trường thực tế (production)
o Ở môi trường development: nếu không muốn cài đặt các database
trên local.
o Có thể sử dụng H2 with disk-based hoặc H2 in -memory. Cả 2 cho
phép sử dụng database ngay trong giao diện của ứng dụng.
o H2 in-memory: data sẽ bị mất khi bạn restart server.
o H2 with disk-based: data sẽ không bị mất khi bạn restart server.
o Nếu không dùng 2 loại database trên sẽ phải tạo schema trên local và
sửa lại config với database trong phần code.

3. Angular
3.1 Angular là gì?
Angular là một JavaScript framework dùng để viết giao diện web (Front-end),
được phát triển bởi Google. Hiện nay, Angular đang được sử dụng bởi rất nhiều
các công ty lớn: Forbes, General Motors, Upwork…
Một ứng dụng angular là tập hợp của các component và một vài các service cung cấp
chức năng cho các component đó

16
Kiến trúc angular

3.2 Các component trong Angular


Một component bao gồm:
- Một template (cái này sẽ render ra giao diện người dùng)
- Một class để code những gì liên kết với view (class sẽ chứa những thuộc tính,
những phần tử dữ liệu có sẵn để phục vụ cho các view và các phương thức để thực
hiện những hành động cho view ví dụ như một sự phản hồi của một nút bấm)
- Một metadata nó sẽ cung cấp thông tin bổ sung cho component, và giúp xác định
một class sẽ là một angular component, cái này được định nghĩa bởi một decorator

Kiến trúc của một component

17
Ví dụ về component

Vai trò của các file component trong angular


- app.component.html: đóng vai trò view, hiển thị giao diện.
- app.component.ts: xử lý các sự kiện, đóng vai trò là controler.
- app.component.css: định nghĩa các css.
- app-routing.module.ts: đóng vai trò điều hướng.
- app.component.ts (cha): cấu hình cho module app.
3.3 Liên kết các component trong Angular
Bằng cách sử dụng các module nó giúp chúng ta tổ chức một ứng dụng angular thành
một khối gắn kết với nhau.
Mỗi ứng dụng angular sẽ có ít nhất một module, module này được gọi là root angular
module hay còn gọi là module gốc.

18
Angular module

3.4 Định nghĩa metadata với decorator


Một class sẽ trở thành component chỉ khi chúng ta cung cấp cho nó metadata, angular
cần metadata để hiểu cái class này là component.

Ví dụ về metadata trong angular

3.5 Angular module


Cái này giúp chúng ta khai báo những module mà ứng dụng cần sử dụng và những cái
component sử dụng module đó.
Ngoài ra nó còn giúp xác định component nào là component đầu tiên để chạy ứng
dụng.
19
Derective @NgModule là để xác định được class app.module là một module.

Angular module

III. NỘI DUNG CÔNG VIỆC ĐƯỢC PHÂN CÔNG

1. Học nội quy, quy định của công ty


Trong ngày thực tập đầu tiên, chúng em được làm quen với các anh chị tham gia
hướng dẫn chúng em trong quá trình thực tập. Được nghe các anh chị giới thiệu về các
nhóm công nghệ mà chúng em có thể lựa chọn để tìm hiểu trong quá trình thực tập.
Tiếp theo chúng em được đi tham quan các phòng ban và các nhóm.

Ngày tiếp theo, chúng em được anh Nguyễn Ngọc Tâm giới thiệu về lịch sử phát
triển, về đặc điểm, về lĩnh vực hoạt động, các đối tác cũng như về văn hóa của tập
đoàn FPT, của FPT Software cũng như FPT Software Quy Nhơn.

20
Sau đó, chúng em phải học nội quy, các quy định sử dụng thiết bị, ra vào, bảo mật,
… của công ty để hoàn thành Dayone Course.

2. Tìm hiểu về Angular


Được phân công làm Front-end cho trang web User Management sử dụng
Angular, vì vậy, em phải tìm hiểu và cài đặt môi trường cho Angular.
Trang web User Management gồm có các trang: “Đăng Nhập”, “Đăng Ký”,
“Home”, “Quản lý sinh viên”, “Quản lý lớp”.
- Trang “Home” chứa các biểu đồ và có sidebar.
- Trang “Quản lý sinh viên”, “Quản lý lớp” có các chức năng quản lý như: thêm,
sửa, xóa.
3. Xây dựng một Project demo (User Management)
Sau khi tìm hiểu về Angular, chúng em phải xây dựng được một project quản lý
người dùng.
3.1 Trang Đăng Nhập

21
3.2 Trang Đăng Ký

3.3 Trang Home

22
3.4 Trang Quản lý sinh viên

3.5 Trang Quản lý lớp

23
4. Tham gia phát triển dự án AkaIspection
Bắt đầu từ tuần thứ 2, em được tham gia vào dự án AkaIspection: phát hiện số
lượng sản phẩm, phát hiện sản phẩm lỗi.
Em phải tìm hiểu thêm về Jhipster, cài đặt môi trường để chạy Jhipster. Em được giao
làm Front-end cho dự án.
Một số trang mà em đã làm:
Trang “Đăng Nhập”:

Trang “Requestdemo”:
24
Trang “Edit profile User”:

25
IV. KẾT QUẢ ĐẠT ĐƯỢC

1. Nội dung lý thuyết


- Hiểu được angular là gì.
- Hiểu được vai trò của các thành phần cấu thành nên component trong Angular.
- Hiểu được jhipster là gì.
- Lợi ích, vai trò của Jhipster.
- Các phương thức xác thực như JWT.
- Các luồng đi của phương thức JWT.
- Hiểu được các luồng đi trong Angular-Jhipster.
- Hiểu được cách sử dụng API trong Angular-Jhipster.
2. Kỹ năng thực hành
- Sử dụng được ngôn ngữ Angular.
- Sử dụng Cascading Style Sheets thành thạo hơn.
- Biết debug (tìm kiếm lỗi) Front-end.
- Biết debug (tìm kiếm lỗi) Back-end.
- Sử dụng git thành thạo hơn.
- Biết sử dụng Postman để test (kiểm thử) API.
- Tích hợp Front-end với Back-end.

26
3. Kinh nghiệm thực tiễn
- Quy trình phát triển trong một dự án phần mềm.
- Kỹ năng làm việc nhóm.
- Kỹ năng thuyết trình.
- Kỹ năng tìm kiếm tài liệu.
4. Công việc đã đóng góp
- Xây dựng giao diện, chức năng màn hình “Đăng Nhập”.
- Xây dựng giao diện, chức năng màn hình “Đăng Ký”.
- Xây dựng giao diện, chức năng màn hình “Trang Chủ”.
- Xây dựng giao diện, chức năng màn hình “Dashboard”.
- Xây dựng giao diện, chức năng màn hình “Requestdemo”.
- Xây dựng giao diện, chức năng màn hình “View profile User”.
- Xây dựng giao diện, chức năng màn hình “Edit profile User”.
- Xây dựng giao diện, chức năng màn hình “Edit profile User”.
- Chỉnh sửa lại giao diện, chức năng của “Images Lab”.
- Xây dựng giao diện, chức năng màn hình “Test Model”.
- Xây dựng giao diện, chức năng màn hình “Projects Management”.
- Chỉnh sửa lại các giao diện bị lỗi, dư thừa (header, footer, điều hướng chuyển
trang, …).
- Chỉnh sửa lại các lỗi được phát hiện.

27

You might also like