Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp 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
Trang 2Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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 luôn 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
Trang 3Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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 Xuân 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 Hoàng Xuân 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
Trang 4Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
NHẬN XÉT CỦA KHOA
Trang 5Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
Mục lục
Trang 6Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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
Trang 7Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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 toá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)
Trang 8Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
3 Giới thiệu các sản phẩm của công ty
Trang 9
Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- Thống kê các thông số đấu thầu vận chuyển đơn hàng
- Thanh toán phí vận chuyển đơn hàng
Trang 10Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
3.2 STM
Trang 11Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
3.3 SWM
Trang 12Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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, quá 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
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 Smartlog, 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 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:
Trang 13Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- 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
Trang 14Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- 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à hoà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
Trang 15Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- 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 quá 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 quá 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 quá trình tham gia Đó là thiết kế, xây dựng và triển khai Social Service trong hệ sinh thái Smartlog
- Thiết kế, xây dựng và triển khai Social Service trong hệ sinh thái Smartlog
Trang 16Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- 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:
serviceType, entityType,
none Items: {
entityId,
Trang 17Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
toalComments }[]
1 Get
Social
GET /social/posts/one
serviceType, entityType, entityId
none totalReactions,
reactionItems: { totalLikes, totalLoves,
}, totalComments
2 Post
reaction
POST /social/reactions
none reactionType,
serviceType, entityType, entityId
none
3 Remove
reaction
DELETE /social/reactions/{reaction Id}
4 Get
reactions
list
GET /social/reactions
serviceType, entityType, entityId,
pageIndex, pageSize,
none totalCount,
items: { reactionType, user: {id, name} }[]
5 Get
comment
s list
GET /social/comments
serviceType, entityType entityId,
pageIndex, pageSize,
none Items: {
user: {id, name}, content,
imageUrl, creationTime, modificationTime }[],
totalCount, pagIndex, pageSize
6 Post a
comment
POST /social /comments
none serviceType,
entityType entityId,
content,
imageFile
id, content, postId, imageUrl, creationTime, modificationTime
7 Update a
comment
PUT /social/comments/{comm entId}
- Xây dựng Social Service bằng NET, EF Core
- Tích hợp vào Website STX bằng Angular
Trang 18Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- 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
- 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
Anh Bùi Xuân Bông
- 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
Anh Bùi Xuân Bông
4 Tìm hiểu về Entity Framework
Core:
Anh Bùi Xuân Bông
Trang 19Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- Các thay đổi dữ liệu với EF Core
- Cách query khi sử dụng EF Core
6,7
Tìm hiểu về 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
Anh Hoàng Xuân Tú
8
Tìm hiểu về 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
- Navigation trong React Native
- Làm việc với API trong React Native
Anh Hoàng Xuân Tú
Trang 20Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
- Làm việc với Redux để quản lý state trong React Native
10,
11,
12
Tham gia dự án STX:
- 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 quá 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)
Phạm Anh Đặng Việt Hùng, Anh
Bùi Xuân Bông
13,
14,
15
Xây dựng và tích hợp Social Service:
- Phân tích yêu cầu
Trang 21Lê Anh Tuấn Báo cáo Thực Tập Doanh Nghiệp
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