Chân thành cảm ơn các anh chị trong team Payment đã bỏ ra nhiều thời gian, công sức để hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến
Trang 1TRƯỜ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
[.NET DEVELOPER]
Công ty thực tập: TNHH Giải Pháp Phần
Mềm Công Tác Và Thanh Toán
Người phụ trách: Lê Công Hùng Vĩ Thực tập sinh: Trần Thành Nhân
Trang 2LỜI MỞ ĐẦU
Các hệ thống lớn, không chỉ là các trang web mà còn bao gồm cả các ứng dụng và nền tảng phức tạp, đóng vai trò quan trọng trong việc cung cấp dịch vụ và giải quyết các thách thức của
xã hội ngày nay Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin và phần mềm đã tạo ra không gian rộng lớn cho sự phát triển của các hệ thống này
Việc xây dựng và duy trì các hệ thống lớn đòi hỏi sự chú trọng không chỉ đến khía cạnh kỹ thuật và công nghệ mà còn đến khả năng quản lý, bảo mật, và mối liên kết giữa các phần tử khác nhau Điều này cũng tạo ra cơ hội để các chuyên gia công nghệ tham gia vào việc tạo ra những hệ thống có ảnh hưởng sâu rộng đối với cuộc sống hàng ngày của mọi người
Với sự tập trung vào hệ thống lớn, việc trở thành một chuyên gia Back-end Developer không chỉ là việc thách thức bản thân mà còn đóng vai trò quan trọng trong việc đáp ứng nhu cầu ngày càng cao về sự liên kết và chia sẻ thông tin trong xã hội ngày nay
Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia thực tập tại Công ty TNHH Giải Pháp Phần Mềm Và Thanh Toán – một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn Công ty TNHH Giải Pháp Phần Mềm Và Thanh Toán đã
tạo điều kiện cho em cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Lê Công Hùng Vĩ và anh Nguyễn Văn Hiếu, em đã tiếp thu những kiến thức quan trọng để có thể tham gia một dự án thực tế
Chân thành cảm ơn các anh chị trong team Payment đã bỏ ra nhiều thời gian, công sức để
hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt trong các dự án thực tế thời gian qua
Em 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 làm báo cáo này
TP HCM, ngày 05 tháng 01 năm 2024
Trần Thành Nhân
Trang 4NHẬN XÉT CỦA KHOA
Trang 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
DANH MỤC HÌNH ẢNH 6
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 7
1.1.Giới thiệu về công ty 7
1.2 Sản phẩm công ty 7
1.3 Lịch làm việc khi thực tập tại công ty 8
CHƯƠNG 2: NỘI DUNG THỰC TẬP 9
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 9
2.2 Nghiên cứu kỹ thuật 9
2.2.1 BPMN & Camunda (Linh, n.d.) 9
2.2.2 Message queue 10
2.2.3 Elasticsearch (Wikipedia) 11
2.3 Tham gia dự án thực tế 11
2.3.1 Dự án chính 11
2.3.2 Một số dự án khác 12
CHƯƠNG 3: TỔNG KẾT 14
3.1 Điểm mạnh 14
3.2 Điểm yếu 14
3.3 Chuẩn đạt được 15
TÀI LIỆU THAM KHẢO 16
Trang 6DANH MỤC HÌNH ẢNH
Hình 1-1: Logo HRS Group 7
Hình 2-1: Camunda Platform 10
Hình 2-2: Rabbit MQ 10
Hình 2-3: Apache Kafka 10
Hình 2-4: Elasticsearch 11
Trang 7CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu về công ty
Hiện công ty đang trực thuộc dưới HRS Group và website của công ty TNHH Giải Pháp Phần Mềm Và Thanh Toán không còn nên em sẽ chỉ ghi giới thiệu về công ty trực thuộc
Hình 1-1: Logo HRS Group
HRS Group là tập đoàn công nghệ toàn cầu tập trung vào lĩnh vực du lịch kinh doanh
Công nghệ nền tảng tiên tiến của HRS đang mở rộng phạm vi tiếp cận của mình ngoài lĩnh vực khách sạn sang các lĩnh vực họp mặt, quản lý không gian văn phòng, hiệu quả thanh toán và
phục hồi khủng hoảng Được thành lập tại Cologne vào năm 1972, với hơn 1.500 nhân viên tại hơn 35 chi nhánh trên toàn thế giới, HRS đang hợp tác với 35% Fortune 500 toàn cầu, cũng
như các chuỗi khách sạn hàng đầu thế giới, các tập đoàn khách sạn khu vực và các nhà cung cấp mảng phần mềm công nghệ
1.2 Sản phẩm công ty
HRS Group hiện tại sở hữu nhiều sản phẩm có thể kể đến như HRS for Enterprise,
HRS for Travelers, Destination Solutiions for Holiday Rentals, …
Nổi bật trong số đó là sản phẩm HRS for Enterprise – 1 sản phẩm sẽ định nghĩa lại cách
mà các doanh nghiệp “Stay, Work and Pay”, là 1 nền tảng Lodging-As-A-Serivice được cung
cấp để cung cấp, đáp ứng các nhu cầu giải pháp thanh toán
HRS for Enterprise là 1 phần mềm khách sạn cho các doanh nghiệp – sẽ bao hàm các
bước nhỏ nhất từ booking, phân tích chi tiêu, kết nối tới các nền tảng khách sạn khắp nơi trên
thế giới, … HRS for Enterprise cung cấp 1 giải pháp thanh toán end to end khi đặt, thuê khách
sạn, phòng hợp của các doanh nghiệp 1 cách tự động hoá, chuyên nghiệp
Website: HRS | We Offer Lodging As A Service
Trang 81.3 Lịch làm việc khi thực tập tại công ty
Em tham gia thực tập tại công ty bắt đầu từ ngày 01/08/2023 tới ngày 01/02/2023, em đến công ty từ ngày Thứ 2 đến Thứ 6 mỗi tuần trừ ngày Thứ 3 (đi học) Em thường bắt đầu ngày làm vào khoảng 9 giờ sáng và kết thúc vào lúc 6 giờ chiều, buổi trưa sẽ khoảng 1 tiếng
để ăn và nghỉ ngơi
Team em đang làm việc cùng hiện hoạt động theo mô hình Agile - Scrum nên mỗi ngày, em sẽ báo cáo tiến độ công việc, đặt câu hỏi, nhận chia sẻ và các giải đáp đến từ các anh/ chị trong team Vào mỗi thứ thứ 2 mỗi đầu sprint, mọi người sẽ bàn bạc, dịnh hướng và đánh giá về công việc, mục tiêu cần đạt được trong sprint Mỗi thứ 5 hàng tuần, mọi người sẽ bắt đầu chia công việc, chỉnh sửa lại các trạng thái của công việc đã và đang làm để phù hợp với mục tiêu của sprint
Trang 9CHƯƠNG 2: NỘI DUNG THỰC TẬ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: Được 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, các phòng ban về IT, HR, … Ngoài ra, em còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc, cách bảo mật các thông tin nhạy cảm, thông tin dự án, …
Kết quả: hiểu thêm về HRS Group, 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.2 Nghiên cứu kỹ thuật
Trong suốt quá trình thực tập, em được tìm hiểu học hỏi và training về các công nghệ
mà dự án đang sử dụng, đồng thời được trau dồi là các kỹ năng bản thân em còn thiếu và cần
có của một Developer
2.2.1 BPMN & Camunda (Linh, n.d.)
BPMN (Business Process Modeling Notation) là tập hợp các ký hiệu để mô hình hóa trực quan các quy trình nghiệp vụ xử lý, hay được sử dụng để để mô hình hóa quy trình của doanh nghiệp Mục đích chính của BPMN là cung cấp các ký hiệu để giúp cả người không làm kỹ thuật lần người làm kỹ thuật đều có thể đọc hiểu Công cụ này giúp các bên liên quan như chủ doanh nghiệp, bộ phận phân tích nghiệp vụ, bộ phận phát triển phần mềm, bộ phận thiết kế dữ liệu… có thể hiểu đồng nhất về quy trình nghiệp vụ giúp nâng cao hiệu quả công việc, tự động hóa quy trình nghiệp vụ
Camunda là một nền tảng công nghệ tự động hóa quy trình làm việc (workflow) hoàn chỉnh với các công cụ thực thi mạnh mẽ cho sơ đồ BPMN được ghép nối với các ứng dụng thiết yếu để lập mô hình, vận hành và phân tích Nó giúp điều phối và tự động hóa các công việc giữa các dịch vụ khác nhau, tạo điều kiện cho sự linh hoạt và mở rộng trong kiến trúc micro-service
Trang 10Hình 2-1: Camunda Platform
Kết quả đạt được: Hiểu, biết cách sử dụng, công dụng cũng như ứng dụng của
Camunda vào các dự án kiến trúc micro-service
2.2.2 Message queue
Message queue là một hệ thống phần mềm sử dụng để truyền và xử lý các thông điệp (messages) giữa các thành phần của một ứng dụng hoặc hệ thống phân tán Nó thường được
sử dụng trong các kiến trúc phân tán, microservices, và các hệ thống xử lý dữ liệu lớn để đồng bộ và truyền thông tin giữa các thành phần khác nhau một cách hiệu quả Trong quá trình thực tập, em đã có cơ hội học hỏi, tìm hiểu và sử dụng các công nghệ phổ biến như RabbitMQ, Apache Kafka
Hình 2-2: Rabbit MQ
Hình 2-3: Apache Kafka
Kết quả đạt được: Hiểu, biết cách sử dụng, công dụng cũng như ứng dụng của
Message Queue vào các dự án ứng với các mục tiêu khác nhau của dự án
Trang 112.2.3 Elasticsearch (Wikipedia)
Elasticsearch là một hệ thống tìm kiếm và phân tích dữ liệu mã nguồn mở, được xây dựng trên nền tảng Apache Lucene Nó được thiết kế để lưu trữ, tìm kiếm, và phân tích dữ liệu lớn một cách nhanh chóng và linh hoạt Nó thường được sử dụng trong các ứng dụng tìm kiếm thông tin, giám sát log, phân tích dữ liệu, và các dự án về trí tuệ nhân tạo Nó cung cấp một cơ sở hạ tầng mạnh mẽ để xử lý và tìm kiếm dữ liệu với hiệu suất cao và khả năng mở rộng linh hoạt
Hình 2-4: Elasticsearch
Kết quả đạt được: Hiểu, biết cách xem, sử dụng công cụ Elasticsearch với mục đích ghi Log, Search, …
2.3 Tham gia dự án thực tế
Do dự án của công ty có tỉnh bảo mật cao, nên em sẽ chỉ trình bày ý tưởng, các mốc thời gian tham gia dự án Cũng như vì đây là các dự án em tham gia thuẩn về Back-end nên không có Front-end cụ thể để minh hoạ
2.3.1 Dự án chính
Đây là dự án mới của team, và em được tham gia từ đầu cùng các anh chị khác
2.3.1.1 Mô tả
Dự án “Billing Email Service” được triển khai với ý tưởng là phân tách 1 phần chức
năng của hệ thống cũ thành 1 service riêng biệt Mục tiêu của service này sẽ là đảm bảo các logic cũ của hệ thống được chính xác, tối ưu và dễ bảo trì – vận hành hơn Đồng thời cũng tăng tốc độ xử lý, sử dụng các công nghệ mới cho chức năng cũ này, giảm tải lượng công việc cho hệ thống cũ để tránh trường hợp quá tải
Các chức năng chính của “Billing Email Service” sẽ bao gồm:
➢ Download email từ các khách sạn gửi đến hệ thống
➢ Đọc - phân loại email với các mục đích khác nhau (email được gửi đến hệ thống chứa các thông tin hợp đồng hoặc các loại email khác …)
➢ Xử lý các email tương ứng với ý nghĩa của chúng
➢ Xử lý các tệp được đính kèm trong email để phân tách ra các thông tin hệ thống cần
➢ Lưu – chuyển tiếp các thông tin phân tách được sang các Service khác để xử lý tiếp các nghiệp vụ phía sau
Trang 12➢ Download email từ các khách sạn gửi đến hệ thống:
Với chức năng này, việc của em là sử dụng lại hệ thống download email có sẵn và thêm
logic mới để “Biiling Email Service” xử lý như Chuyển hướng các email được gửi đến hệ
thống sẽ lưu vào Blob Storage thay vì là Fileshare như hệ thống cũ
➢ Lưu – chuyển tiếp các thông tin phân tách được sang các Service khác để xử lý tiếp
các nghiệp vụ phía sau
Với chức năng này, việc của em sẽ là viết logic phân loại email dựa trên các tệp đã được
xử lý ở phía trước, mapping các dữ liệu để gửi qua các Service khác bằng Message Queue,
lưu – xử lý logic cho các tệp đồng thời chỉnh sửa lại 1 số logic khác ở những Service khác để
đáp ứng được cái yêu cầu của nghiệp vụ mới
➢ Xử lý các email tương ứng với ý nghĩa của chúng
Với chức năng này, các anh dev trong team đã đảm nhiệm, em được giao lại phần việc đã
hoàn thành để fix bug, thêm logic phù hợp với các nghiệp vụ được thay đổi
2.3.1.3 Kết quả đạt được
Em đã hoàn thành các công việc được giao để kịp tiến độ của team để release sản phẩm Đồng thời trong giai đoạn phát triển, em đã học được rất nhiều kỹ năng còn thiếu như cách giao tiếp, cách test, fix bug, … khi phát triển phần mềm trong 1 team
2.3.1.4 Khó khăn
Mặc dù đã hoàn thành các công việc được giao trong thời gian nhất định, em vẫn còn gặp nhiều khó khăn trong lúc làm như:
➢ Chưa thực sự nắm rõ các nghiệp vụ của task
➢ Thiếu kinh nghiệm khi code dẫn đến khi có bug khó có thể track lại các bug
➢ Chưa giao tiếp tốt với các anh chị trong team dẫn đến việc bị mismatch thông tin
2.3.2 Một số dự án khác
Với một số dự án khác - các dự án đã được thực hiện trước đó, em được giao các task
cơ bản như fix bug, phát triển thêm tính năng để làm quen với hệ thống, học hỏi và để
đánh giá năng lực
2.3.2.1 Mô tả
Đây là các dự án, các service đã được hoàn thành trước đó và cần được cải thiện các tính năng mới, fix các minor bug nhằm đảm bảo tính ổn định, đúng đắn của hệ thống có sẵn
2.3.2.2 Quá trình thực hiện
Trong số các dự án trên, nổi bật là các dự án em phát triển thêm tính năng dựa trên
codebase có sẵn của “VTI Service” – “Variable Transaction Imports Service” là service dùng
để enrich các thông tin của hoá đơn với các giao dịch khách sạn
Em đã phát triển thêm tính năng dùng Message Queue để đẩy các thông tin từ “VTI Service” sang các service khác nhằm đáp ứng yêu cầu nghiệp vụ
Trang 13Ngoài ra, trong “FIN Service” – service được dùng để xử lý các logic về financial
transaction, em đã thực hiện các task liên quan đến Camunda, xử lý các code logic
2.3.2.3 Kết quả đạt được
Em đã hiểu hơn cách các service giao tiếp với nhau cũng như cách Message Queue hoạt động và mục đích của chúng trong mô hình micro-service; nắm rõ hơn về cách sử dụng cũng như ứng dụng của BMPN và Camunda Platfỏm
2.3.2.4 Khó khăn
Mặc dù đã hoàn thành các công việc được giao trong thời gian nhất định, em vẫn còn gặp khó khăn như:
➢ Chưa thực sự nắm rõ các code có sẵn để sử dụng Message Queue nên khi tái sử dụng lại thì chưa phù hợp
➢ Còn vụng về, sai sót khi thực hiện các thao tác với Camunda Platform
Trang 14CHƯƠNG 3: TỔNG KẾT
Là một sinh viên năm cuối của khoa Công nghệ phần mềm, được trải nghiệm khoảng
thời gian 6 tháng thực tập ở Công ty TNHH Giải Pháp Phần Mềm Và Thanh Toán là một
cơ hội quý giá để bản thân em được học hỏi, trải nghiệm và trưởng thành rất nhiều
Trong quá trình thực tập, giai đoạn một tháng đầu tiên là một trong những giai đoạn khó khăn nhất khi em được tiếp nhận rất nhiều kiến thức mới từ cách các anh chị làm việc, trao đổi, giao tiếp, cách thực hiện các giai đoạn từ bàn luận, lên ý tưởng, phân tích nghiệp vụ cho đến lúc triển khai, kiểm thử, bảo trì và cải thiện một tính năng, em nhận ra bản thân còn thiếu sót rất nhiều kỹ năng và cần nỗ lực hơn
Tuy nhiên những khó khăn ấy lại là cơ hội cho em để vượt ra khỏi vùng an toàn, để học những công nghệ mới để hoàn thiện bản thân hơn Song là nhờ sự giúp đỡ nhiệt tình của các anh chị trong team, điều mà em luôn rất cảm kích cho đến hiện tại vì nhờ điều này, em đã cảm thấy tự tin hơn, có sự kết nối với mọi người hơn, giao tiếp cũng tốt hơn
Trong quá trình được tham gia vào các dự án thực tế, bản thân em cảm nhận được kiến thức chuyên môn, sự tỉ mỉ, cẩn thận và khả năng giải quyết vấn đề của mình dần được cải thiện Các kỹ năng mềm khác cũng được trau dồi trong suốt quá trình thực tập và tất cả điều này đã đem đến cho em một trải nghiệm quý giá
Em xin cảm ơn đến Ban lãnh đạo và các anh chị trong Công ty TNHH Giải Pháp
Phần Mềm Và Thanh Toán đã tạo cơ hội cho em có một kỳ thực tập vô cùng quý giá này
3.1 Điểm mạnh
➢ Chủ động tìm tòi, tra cứu các kiến thức trước khi nhờ tới sự giải đáp của các anh chị trong team
➢ Không ngần ngại trao đổi, học hỏi các chia sẻ, kinh nghiệm từ các anh chị trong team
➢ Luôn cố gắng hoàn thành công việc trong thời gian nhất định
➢ Luôn sẵn sàng hỗ trợ các anh chị trong team
➢ Có khả năng đọc hiểu các tài liệu tiếng anh
3.2 Điểm yếu
➢ Khả năng học các công nghệ mới chưa nhanh, chưa đủ sâu để hiểu rõ bản chất cách
sử dụng
➢ Còn thiếu sót nhiều về các kỹ năng cứng như các kiến thức về SQL, các kiến thức về Web, các kiến thức về Git, các kiến thức về Testing, …
➢ Còn thiếu sót nhiều về các kỹ năng mềm như viết document, giao tiếp, trao đổi, đọc hiểu nghiệp vụ, …
➢ Quản lý thời gian chưa tối ưu