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

Báo cáo thực tập FULL STACK DEVELOPER

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 (1.08 MB, 22 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

FULL STACK DEVELOPER

Công ty thực tập

: SMARTLOG

Người phụ trách chính

: Bùi Xn Bơng

Thực tập sinh

: Lê Anh Tuấn

Mã số sinh viên

: 18521597

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


1

LỜI MỞ ĐẦU

Ngày nay, khi cuộc cách mạng công nghiệp 4.0 đang diễn ra mạnh mẽ, CNTT đã và


đang đóng vai trò quan trọng trong đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới,
là một phần khơng thể thiếu trong một nền kinh tế trí thức năng động, ngày càng hiện đại
hố. Vì vậy, việc số hóa và hiện đại hóa một số lĩnh vực rất cần thiết sự phát triển của ngành
Công nghệ thông tin đi theo
Công nghệ web hiện nay ngày càng phát triển tiến tiến. Giúp tạo ra các ứng dụng
web phục vụ nhu cầu cuộc sống của con người, từ cá nhân đến tổ chức, đến chính phủ hay
quốc tế. Do đó, một trang web muốn được nhiều người sử dụng phải đáp ứng được yếu tố
hình thức và nội dung. Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở hai yếu t ố trên
ln làm bất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩ đau đầu. Để thử
thách bản thân trong ngành công nghiệp web, em đã lựa chọn Full stack developer là định
hướng cho việc học cũng như nghề nghiệp trong tương lai.
Sau ba những năm học tại trường, em đã có đủ kiến thức lý thuyết và muốn có kinh
nghiệm thực tế hơn, nên em đã quyết định tham gia vào cơng ty Smarlog tìm hiểu thêm về
cách một mơi trường chuyên nghiệp, năng động phát triển phần mềm, cung cấp giải pháp
cho các vấn đề xã hội, doanh nghiệp trong và ngoài nước.

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


2

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Smartlog đã 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 menter,
em đã tiếp thu được những nhiều kiến thức, học hỏi nhiều kỹ năng, kinh nghiệm, góp phần
vào việc phát triển sản phẩm cho công ty. Chân thành cảm ơn các anh trainer đã 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 Bùi Xn Bơng, trainer chính đã hướng dẫn, giúp đỡ cho em
tận tình tìm hiểu các công nghệ được sử dụng trong công ty như .NET, Microservice..., và
giúp em thích nghi với mơi trường mới.
Bên cạnh đó, em chân thành cảm ơn anh Hồng Xn Tú người hướng dẫn, mentor
em làm quen với các công nghệ frontend như HTML, JS, Angular, React Native. Và cuối
cùng là anh Đặng Việt Hùng, giám đốc công nghệ, đã hỗ trợ em rất nhiều trong quá trình
làm việc.
Cuối cùng, em thật lịng 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.
Lê Anh Tuấn
Tp.HCM, 17/12/2021

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


3

NHẬN XÉT CỦA KHOA

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


4

Mục lục

LỜI MỞ ĐẦU

1

LỜI CẢM ƠN

2

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

5

1.

Giới thiệu công ty

5

2.

Sản phẩm của công ty

6

3.

Giới thiệu các sản phẩm của công ty

7


Chương 2: Nội dung thực tập

11

1.

Tìm hiểu cơng ty và các phịng ban trong cơng ty

11

2.

Nghiên cứu kỹ thuật

11

3.

2.1.

Software Process Development

11

2.2.

Tìm hiểu về .NET Core

12


2.3.

Tìm hiểu về Entity Framework Core

12

2.4.

Tìm hiểu Angular

13

2.5.

Tìm hiều React Native

13

2.6.

Tham gia dự án STX

14

2.7.

Xây dựng và tích hợp Social Service

14


Lịch làm việc

17

TỔNG KẾT

Lê Anh Tuấn

20

Báo cáo Thực Tập Doanh Nghiệp


5

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

1. Giới thiệu công ty
Smartlog là startup Việt Nam tiên phong về phát triển các giải pháp công nghệ
thông tin phục vụ cho hoạt động vận hành logistics. Smartlog được thành lập vào năm
2015 và hình thành sản phẩm.
Với đội ngũ tâm huyết và am hiểu sâu sắc về quản trị chuỗi cung ứng, quản trị
logistics, Smartlog đang dần thay đổi cách thức vận hành logistics theo xu hướng cách
mạng công nghiệp 4.0. Giúp khách hàng của Smartlog nâng cao được hiệu quả vận hành
và cải thiện rõ rệt chất lượng dịch vụ logistics.
Smartlog đồng hành cùng doanh nghiệp Việt Nam xây dựng mạng lưới logistics
trở thành một hệ sinh thái mà các doanh nghiệp có thể chia sẻ, tối ưu hóa nguồ n lực cũng
như nâng cao năng lực cạnh tranh. Chúng tôi không ngừng đổi mới về công nghệ và giải
pháp để doanh nghiệp Việt Nam có thể cạnh tranh ở tầm khu vực, trước nhất là ngay tại
“sân nhà” Việt Nam.


Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


6

2. Sản phẩm của công ty
Smartlog là công ty chuyên cung cấp các giải pháp công nghệ giải quyết các bài
tốn trong lĩnh lực Logistics. Các giải pháp mà cơng ty cung cấp bao gồm: Giải pháp
quản lý vận tải STM giúp cung cấp giải pháp toàn diện để quản lý đơn hàng; Sàn giao
dịch vận tải STX giúp kết nối người bán hàng và chủ xe hàng trong việc vận chuyển đơn
hàng; SWM giáp pháp quản lý kho hàng; và các giải pháp đang được công ty nghiên cứu
và phát triển.
Smartlog hiện là đối tác uy tín với các doanh nghiệp sản xuất và doanh nghiệp vận
tải tại Việt Nam và nước ngoài như Sabeco, Thaco, TH True Milk, Nutifood, Petro
VietNam, Manuchar Việt Name, Híamitsu, ...
Với tầm nhìn là trở thành nền tảng và hệ sinh thái tích hợp đầu tiên cho hoạt động
logistics với phạm vi bao phủ lớn nhất tại Việt Nam – Đông Nam Á. Công ty ngày càng
đẩy mạnh phát triển và mở rộng quy mơ khách hàng. Hiện tại Smartlog có 2 trụ sở làm
việc là ở Hà Nội và TP. Hồ Chi Minh (Trụ sở chính).

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


7


3. Giới thiệu các sản phẩm của công ty
3.1. STX
-

Sàn vận tải cung cấp chủ hảng và chủ xe. Chủ hàng muốn vận chuyển hàng
hóa có thể tạo 1 đơn hàng trên hệ sinh thái Smartlog, đơn hàng sẽ được đồng
bộ với STX, từ đây chủ xe có thể đấu thầu mức giá mong muốn đề giành
quyền vận chuyển hàng hóa. Trong q trình vận chuyển, hệ thống sẽ cập nhậ
tình hình đơn hàng (vị trí hiện tại, tình trạng, ...)

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


8
- Thống kê các thông số đấu thầu vận chuyển đơn hàng

- Thanh tốn phí vận chuyển đơn hàng.

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


9

3.2.

Lê Anh Tuấn


STM

Báo cáo Thực Tập Doanh Nghiệp


10

3.3.

Lê Anh Tuấn

SWM

Báo cáo Thực Tập Doanh Nghiệp


11

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Fullstack developer” nhằm mục đích giúp sinh viên thực
tập học tập, làm quen với các công nghệ .NET, hệ thống Microservice, để tạo ra một hệ
thống ứng dụng từ web đến các nền tảng mobile, ..., đồ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 công nghệ như .NET, Entity
Framework, Angular, React Native. Ngoài ra, thực tập sinh được trực tiếp hướng dẫn
bởi những anh mentor giàu kinh nghiệm. Bên cạnh đó, sinh viên được 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, tích lũy những kiến thức
giá trị.


1. Tìm hiểu cơng ty và các phịng ban 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, ... Gặp gỡ các anh
chị trong các phong ban khác nhau trong 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 Smartlog, 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.
Software Process Development
Thời gian: 1 ngày
Nội dung: Tìm hiểu về các cơng cụ và quy trình sẽ được sử dụng trong quá trình
làm việc:
Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


12

-

Tổng quan quy trình phát triển phần mềm tại cơng ty

-


Làm việc với khách

-

Thu thập phân tích yêu cầu

-

Phát triển tính năng, bảo trì hệ thơng

-

Kiểm thử phần mềm

-

Vai trị của các phòng ban tương ứng với các giai đoạn

Thực hiện: Tham gia training và tìm hiểu về các nội dung trên, sau đó được
checkpoint bởi người hướng dẫn.
Kết quả: Nắm được các nội dung cần năm, trả lời được các câu hỏi của người
hướng dẫn.
2.2. Tìm hiểu về .NET Core
Thời gian: 7 ngày
Nội dung: Tìm hiểu về lập trình C# cơ bản
-

Tìm hiểu sự khác nhau giữa .NET và .NET Core
Tìm hiểu về lập trình C# nâng cao


-

Tìm hiểu về lập trình API bằng ASP.NET Core

-

Tìm hiểu về tiêu chuẩn thiết kế Restful API

-

Tìm hiểu về clean code khi lập trình .NET

- Tìm hiểu cách áp dụng kiến trúc Microservice tại cơng ty
Thực hiện:
-

Tìm hiều các kiến thức liên quan đến lập trình C#/.NET

-

Đọc hiểu code của những project cũ được lập trình bằng ngơn ngữ C#/.NET
để nắm cấu trúc project

-

Tham gia checkpoint bởi người hướng dẫn để kiểm tra tiến độ

Kết quả: Hiểu và trả lời được các câu hỏi checkpoint của người hướng dẫn
2.3. Tìm hiểu về Entity Framework Core
Thời gian: 3 ngày

Nội dung: Tìm hiểu về Entity framwork Core ORM
Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


13

-

Tìm hiểu ORM

-

Tìm hiểu Code first và Database first

-

Tìm hiểu cách tạo các Database model bằng Code first, migration, ...

-

Các thay đổi dữ liệu với EF Core

-

Cách query khi sử dụng EF Core

Thực hiện:
-


Học và tìm hiểu các nội dung cần thiết

-

Viết phần mềm demo nhỏ để thực hành sử dụng EF Core

Kết quả: Hiểu các kiến thức cần nắm và hồn thành mục tiêu đề ra.
2.4. Tìm hiểu Angular
Thời gian: 7 ngày
Nội dung: Tìm hiểu về lập trình Frontend với Angular:
-

Tìm hiểu lập trình frontend, HTML, CSS, Javascript

-

Tìm hiểu chung về Angular cơ bản

-

Tìm hiểu về Component, Template, Directive, Dependecy Injection trong
Angular

-

Tìm hiểu về Data binding

-


Tìm hiểu về làm việc với API trong Angular

Thực hiện:
-

Học và tìm hiểu các nội dung cần thiết

-

Đọc code các dự án cũ để tìm hiểu cấu trúc project Angular

-

Viết phần mềm demo nhỏ để thực hành sử dụng Angular

Kết quả: Hiểu và hoàn thành các nội dung được giao.
2.5. Tìm hiều React Native
Thời gian: 3 ngày
Nội dung: Tìm hiểu về lập trình React Native
-

Tìm hiểu lập trình mobile cơ bản với React Native

-

Tìm hiểu cách xây dựng các UI Component

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp



14

-

Navigation trong React Native

-

Làm việc với API trong React Native

-

Làm việc với Redux để quản lý state trong React Native

Thực hiện:
-

Học và tìm hiểu các nội dung cần thiết

-

Đọc code các dự án cũ để tìm hiểu cấu trúc project React native

-

Tìm hiểu các API Service thường sử dụng trong dự án STX Mobile

Kết quả: Hiểu và hoàn thành các nội dung được giao.

2.6. Tham gia dự án STX
Thời gian: 12 ngày
Nội dung: Tham gia trực tiếp vào dự án STX (như đã giới thiệu ở đầu)
Thực hiện: Tìm hiểu về các vấn đề:
-

Các nghiệp vụ liên quan đến dự án

-

Các bộ phận thường xuyên liên quan đến dự án

-

Các công cụ được sử dụng dụng khi làm việc: Jira, Bitbucket, Slack, ...

-

Các cơng việc đảm nhận trong q trình tham gia: Xây dựng giao diện, tích
hợp API trên các ứng dụng Web (Angular), ứng dụng Mobile (React Native)

Kết quả: Hiểu được các vấn đề cần nắm khi tham gia vào dự án, bao gồm anh chị
làm cùng, các nghiệp vụ cơ bản, các công cụ sử dụng trong dự án, tiếp cận với source
code của dự án.
2.7. Xây dựng và tích hợp Social Service
Thời gian: 10 ngày
Nội dung: Thực hiện các cơng việc được giao trong q trình tham gia dự án. Vì
chính sách bảo mật của cơng ty, em xin phép chỉ trình bày chi tiết về một task trong
q trình tham gia. Đó là thiết kế, xây dựng và triển khai Social Service trong hệ
sinh thái Smartlog

Lê Anh Tuấn

Thiết kế, xây dựng và triển khai Social Service trong hệ sinh thái Smartlog.
Báo cáo Thực Tập Doanh Nghiệp


15

-

Phân tích yêu cầu nghiệp vụ: Social service là 1 service trong hệ thống
microservice, cung cấp các api để người dùng (khách hàng) có thể tương tác,
trao đổi thơng tin. Có chức năng tương tác cơ bản của 1 một mạng xã hội là
bình luận, trả lời bình luận, react (like, love, ...). trên mỗi đối tượng nghiệp
vụ (bussiness entity)chẳng hạn như Đơn hàng, Sản phẩm, ...)

-

Phân tích yêu cầu hệ thống: Social service phải được tích hợp trong hệ thống
microservice, có thể được sử dụng bởi các service khác trong hệ thống, có
database riêng, thơng tin người dùng phải đồng bộ trên các nền tảng trong hệ
sinh thái Smartlog.

-

Lựa chọn công nghệ: sau khi thảo luận với các anh chị hướng dẫn, các công
nghệ cần sử dụng là: .NET Core (Xây dựng API), PostgresSQL (Làm
DBMS), Angular (tích hợp vào giao diện trên ứng dụng STX)

-


Thiết kế, xây dựng mô hình CSDL:

-

Thiết kế các API:

STT Name
0
Get
Social list

Lê Anh Tuấn

Endpoint
GET
/social/posts/all

Query string
serviceType,
entityType,

Request body
none

Response body
Items: {
entityId,

Báo cáo Thực Tập Doanh Nghiệp



16
entityIds

1

Get
Social

GET
/social/posts/one

serviceType,
entityType,
entityId

none

2

Post
reaction

POST
/social/reactions

none

3


Remove
reaction

reactionType,
serviceType,
entityType,
entityId
none

4

5

DELETE
none
/social/reactions/{reaction
Id}
Get
GET
serviceType,
reactions /social/reactions
entityType,
list
entityId,
pageIndex,
pageSize,
Get
GET
serviceType,

comment /social/comments
entityType
s list
entityId,
pageIndex,
pageSize,

none

none

6

Post a
POST
comment /social /comments

none

serviceType,
entityType
entityId,
content,
imageFile

7

Update a PUT
comment /social/comments/{comm
entId}

Delete a DELETE
comment /social/comments/{id}

none

content,
imageFile

none

none

8

-

Xây dựng Social Service bằng .NET, EF Core

-

Tích hợp vào Website STX bằng Angular

Lê Anh Tuấn

totalReactioms.
toalComments
}[]
totalReactions,
reactionItems: {
totalLikes,

totalLoves,
..
},
totalComments
none

none

totalCount,
items: {
reactionType,
user: {id, name}
}[]
Items: {
user: {id, name},
content,
imageUrl,
creationTime,
modificationTime
}[],
totalCount,
pagIndex,
pageSize
id,
content,
postId,
imageUrl,
creationTime,
modificationTime
none


none

Báo cáo Thực Tập Doanh Nghiệp


17

-

Bàn giao source code thông qua Bitbucket để người hướng dẫn review

Thực hiện: Phân tích yêu cầu, phân tích hệ thống, xây dựng service, tích hợp
service, bàn giao code
Kết quả: Xây dựng thành cơng API cho social service, tích hợp vào phiên bản
mới của website STX
3. Lịch làm việc
Tuần

1

3 ngày/tuần vào thứ 2, 3, 4
Cơng việc
Tìm hiểu cơng ty và các phịng ban
trong cơng ty:
- Tổng quan về cơng ty
- Các phịng ban trong cơng ty
- Quy trình phát triển phần mềm tại
cơng ty


Người hướng dẫn
Anh Bùi Xn Bơng

Tìm hiểu về Entity Framework
Core:
- Tìm hiểu sự khác nhau giữa .NET

Anh Bùi Xn Bơng

và .NET Core
- Tìm hiểu về lập trình C# Cơ bản
- Tìm hiểu về lập trình C# nâng cao
- Tìm hiểu về lập trình API bằng
2,3

ASP.NET Core
- Tìm hiểu về tiêu chuẩn thiết kế
Restful API
- Tìm hiểu về clean code khi lập
trình .NET
- Tìm hiểu cách áp dụng kiến trúc
Microservice tại cơng ty

4
Lê Anh Tuấn

Tìm hiểu về Entity Framework
Core:

Anh Bùi Xuân Bông

Báo cáo Thực Tập Doanh Nghiệp


18

- Tìm hiểu ORM
- Tìm hiểu Code first và Database
first
- Tìm hiểu cách tạo các Database
model bằng Code first, migration,
...
- Các thay đổi dữ liệu với EF Core
- Cách query khi sử dụng EF Core
Tìm hiểu về Angular:

Anh Hồng Xn Tú

- Tìm hiểu lập trình frontend, HTML,
CSS, Javascript
- Tìm hiểu chung về Angular cơ bản
- Tìm hiểu về Component, Template,
6,7

Directive,

Dependecy

Injection

trong Angular

- Tìm hiểu về Data binding
- Tìm hiểu về làm việc với API trong
Angular
Tìm hiểu về React Native:
Anh Hồng Xn Tú
- Tìm hiểu lập trình mobile cơ bản
với React Native
- Tìm hiểu cách xây dựng các UI
8

Component
- Navigation trong React Native
- Làm việc với API trong React
Native

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


19

- Làm việc với Redux để quản lý
state trong React Native

Tham gia dự án STX:

Phạm Anh Đặng Việt Hùng, Anh
Bùi Xuân Bông
- Các nghiệp vụ liên quan đến dự án

- Các bộ phận thường xuyên liên
quan đến dự án
- Các công cụ được sử dụng dụng khi

10,
11,
12

làm việc: Jira, Bitbucket, Slack, ...
- Các cơng việc đảm nhận trong q
trình tham gia: Xây dựng giao diện,
tích hợp API trên các ứng dụng
Web (Angular), ứng dụng Mobile
(React Native)
Xây dựng và tích hợp Social Service: Anh Đặng Việt Hùng, Anh
Bùi Xuân Bông
- Phân tích yêu cầu

13,
14,
15

- Phân tích hệ thống
- Thiết kế Cơ sở dữ liệu
- Thiết kế API
- Xây dựng service
- Tích hợp service

Lê Anh Tuấn


Báo cáo Thực Tập Doanh Nghiệp


20

TỔNG KẾT
Như vậy, chỉ trong vòng bốn tháng ngắn ngủi, em đã được học hỏi và trải nghiệm
được nhiều thứ bổ ích. Cơng ty đã giúp em học được các công nghệ mới trong ngành hiện
này như .NET Core, Angular, React Native, Microservice, ... biết tổ chức làm việc nhóm,
giao tiếp trao đổi và giúp đỡ mọi người trong công việc, có được khả năng làm việc chuyên
nghiệp với đồng đội và độc lập. Bên cạnh đó, em cịn học được cách giao tiếp chuyên nghiệp
với các đối tác, các sếp và kinh nghiệm xử lý tình huống bất ngờ khi gặp lỗi.Những điều
này sẽ là kiến thức và kinh nghiệm quý báu đề làm hành trang trên con đường sự nghiệp
của em. Đồng thời công ty cũng đã tạo điều kiện cho em được tham giai làm việc trong một
dự án thực tế, giúp em có được những trải nghiệm hết sức quý giá cho việc đi làm sau này.
Chân thành cảm ơn sự giúp đỡ của các anh chị trong dự án và đặc biệt là anh Bùi
Xuân Bơng – trainer chính cũng là người hướng train cho em .NET Core, Entity Framework
Core, anh Hoàng Xuân Tú – trainer Angular, React Native và anh Đặng Việt Hùng – giám
đốc cơng nghệ, đã nhiệt tình giúp đỡ, tạo điều kiện thuận lợi cho em em hoàn thành kỳ thực
tập này.
Đặc biệt, em sâu sắc cảm ơn quý thầy cô khoa Công nghệ Phần mềm đã chỉ bảo,
cung cấp cho em những kiến thức quá bái để có thể tham gia khóa thực tập của cơng ty.
Một lần nữa em xin chân thành cảm ơn.

Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp


21


TÀI LIỆU THAM KHẢO
.NET Core:
/>Angular:
/>React Native:
/>Entity Framework Core
/> />
-------------------------------------------------------Hết----------------------------------------------------Lê Anh Tuấn

Báo cáo Thực Tập Doanh Nghiệp



×