LỜI MỞ ĐẦU Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển củ
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
[BACKEND DEVELOPER]
Công ty thực tập: TNHH GlobalChain Người phụ trách: Nguyễn Văn Long Thực tập sinh: Nguyễn Ngọc Đức
TP Hồ Chí Minh, tháng 12 năm 2023
Trang 2LỜI MỞ ĐẦU
Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển của xã hội
Công nghệ Web, hay công nghệ sản xuất các trang web đã phục vụ hầu hết các nhu cầu của con người từ bán hàng, cung cấp kiến thức đến thông tin liên lạc, Hiện nay đã có đến hơn 1.5 tỷ trang web, nhưng nhu cầu tạo ra những trang web mới vẫn chưa có dấu hiệu giảm
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 web developer là định hướng cho việc học cũng như nghề nghiệp trong tương lai
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 vào […] – 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 cảm ơn các thầy cô đã trang bị nhưng kiến thức quý báu cho em trong suốt quá trình học tập tại Trường đại học Công Nghệ Thông Tin Đặc biệt là các thầy cô trong khoa Công Nghệ Phần Mềm Nhờ các thầy cô đã bỏ ra công sức, hướng dẫn tận tình để
có được các kiến thức chuyên ngành về công nghệ thông tin để có thể vững bước và đi tiếp trên con đường học tập cũng như đi làm
Em xin chân thành cảm ơn đến công ty TNHH GlobalChain đã tạo điều kiện cho em thử thách, nghiên cứu các công nghệ mới tại công ty Ngoài ra, xin cảm ơn anh Nguyễn Văn Long đã phụ trách quản lý, hướng dẫn và truyền đạt kiến thức trong suốt thời gian thực tập và cảm ơn các anh chị trong công ty đã giúp đỡ em trong thời gian vừa qua
Em xin chân thành cảm ơn thầy cô khoa Công nghệ Phần mềm là tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình thực tập và cũng như thực hiện báo cáo này
TP HCM,ngày 28 tháng12 năm 2023
Nguyễn Ngọc Đức
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
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6
1.1 Giới thiệu 6
1.2 Sản phẩm công ty 6
1.3 Lịch làm việc khi thực tập tại công ty 9
CHƯƠNG 2: NỘI DUNG THỰC TẬP 10
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 10
2.2 Thực hiện dự án thực tế 13
2.2.1 Công nghệ 15
2.2.2 Mô tả dự án 18
2.2.3 Kết quả 20
CHƯƠNG 3: TỔNG KẾT 21
3.1 Điểm mạnh 21
3.2 Điểm yếu 21
3.3 Chuẩn đạt được 21
TÀI LIỆU THAM KHẢO 23
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu
GLOBALCHAIN là một công ty công nghệ phát triển theo xu hướng đổi mới sáng tạo, được sáng lập bởi những người có tâm huyết, có năng lực và kinh nghiệm chuyên môn cao với mong muốn hình thành và phát triển thành một công ty phần mềm hàng đầu tại Việt Nam và vươn tầm ra thế giới
GLOBALCHAIN cung cấp các giải pháp bảo mật, an toàn thông tin và hệ thống các phần mềm ứng dụng trí thông minh nhân tạo, để tăng tính tương tác, an toàn, bảo mật trong công tác quản lý, điều hành của các cơ quan nhà nước, ngành công an, quân đội, các doanh nghiệp, tập đoàn, tổng công ty, ngân hàng, trường học, bệnh viện, …
GLOBALCHAIN tập trung nghiên cứu ứng dụng công nghệ Blockchain và các công nghệ hiện đại trong lĩnh vực phần mềm nói riêng và công nghệ thông tin nói chung để
áp dụng vào phát triển các giải pháp nâng cao tính tương tác và an toàn bảo mật thông tin nhằm mục đích thúc đẩy và gắn kết tốt hơn chuỗi kết nối toàn cầu – Global Chain
Hình 1.1 Logo
1.2 Sản phẩm công ty
-Hệ thống quản lý văn bản và hồ sơ công việc
+ Quản lý các hồ sơ công việc như:
• Danh mục dùng chung
• Danh mục văn bản
Trang 7+Nền tảng công nghệ phát triển: Netcore, Angular
- Hệ thống cổng thông tin hành chính công
+Hệ thống tiếp nhận hồ sơ trực tuyến, quy trình động
+Quản lý cơ sở dữ liệu mục lục ngân sách nhà nước
• Phân hệ phần mềm quản lý cập nhật cẩm nang
• Phân hệ phần mềm quản lý tra cứu cẩm nang
• Phân hệ phần mềm Thống kê – Báo cáo
• Phân hệ phần mềm Quản lý hệ thống Danh mục dùng chung
• Phần hệ phần mềm Quản trị hệ thống
• Phân hệ hỏi đáp cẩm nang
• Phân hệ báo cáo lãnh đạo
+Công nghệ phát triển dựa trên nền tảng web application với các công nghệ hiện đại của Microsoft
- Hệ thống phần mềm quản lý đối tượng và kết nối với Trung tâm thông tin chỉ huy CATP
• Chức năng xem danh sách đối tượng truy nã của CATP
• Chức năng xem danh sách quản lý đối tượng nghiệp vụ của đơn vị mình
• Thêm mới, sửa đổi thông tin đối tượng nghiệp vụ của đơn vị
• Tìm kiếm thông tin đối tượng
+ Hệ thống gồm 4 lớp bảo mật an toàn thông tin:
• Bảo mật người dùng
• Bảo mật Tường lửa
Trang 8• Bảo mật mã hóa dữ liệu
• Bảo mật mạng máy tính
- Hệ thống phần mềm chat nội bộ ứng dụng Công nghệ Blockchain bảo mật quyền riêng tư người dùng cho cơ quan, doanh nghiệp – SChat (SChat.In – Chữ S sau này trong thiết kế đại diện cho Bản đồ Việt Nam)
+Phần mềm chat ứng dụng công nghệ Blockchain để bảo mật quyền riêng tư người dùng cho cơ quan, doanh nghiệp, bao gồm các chức năng:
• Quản trị hệ thống
• Quản trị tin tức
• Phân công công tác
• Báo cáo công tác
• Lịch công tác
• Trao đổi công việc
• Nhắc việc, thông báo
• Quản lý thiết bị đăng nhập
+Nền tảng công nghệ phát triển:
• Sử dụng Nodejs làm server xử lý, xây dựng restful API
• Nodejs kết hợp cơ sở dữ liệu Mongo DB làm cho việc truy vấn những dữ liệu thường xuyên nhanh hơn, hiệu quả hơn
- Hệ thống phần mềm chat trực tuyến ứng dụng Blockchain bảo mật quyền riêng
tư người dùng cho cộng đồng – Schat (Schat)
+Phần mềm chat có những tính năng, kiến trúc như ứng dụng chat nội bộ (SChat.In) nhưng được thiết kế để bảo mật quyền riêng tư dành riêng cho cộng đồng
- Các giải pháp bảo mật, an toàn thông tin, bảo đảm quyền riêng tư cho cơ quan, doanh nghiệp – SSolutions (GlobalChain Security Solutions)
+Phần mềm bảo mật thông tin, quyền riêng tư cho cá nhân, tổ chức, doanh nghiệp như theo dõi tình trạng, lưu thông mạng, các hành vi bất thường
+Phần cứng bảo mật thông tin, quyền riêng tư cho tổ chức, doanh nghiệp như truy vết, quét các thiết bị theo dõi, camera ẩn, v.v
Trang 9- Đào tạo cho cơ quan, doanh nghiệp, cá nhân về bảo mật, an toàn thông tin, đảm bảo quyền riêng tư của người dùng trong các hệ thống ứng dung CNTT và đào tạo
về công nghệ blockchain
1.3 Lịch làm việc khi thực tập tại công ty
Khoảng thời gian thực tập 02/07/2023-10/9/2023
Thời gian làm việc trong ngày Công việc hằng ngày bắt đầu từ lúc 8h
đến 17h30 Thời gian nghỉ trưa Thời gian nghỉ trưa khoảng 1h30 tiếng
từ 12h tới 13h30 Thời gian báo cáo Sau mỗi ngày cuối buổi sẽ báo cáo tiến
độ công việc với anh hướng dẫn.Để giải quyết hay trao đổi về dự án
Sprint planning Vào mỗi 14h chiều thứ 2 hàng tuần sẽ
họp để lên kế hoạch cho tuần tiếp theo.Tổng kết công việc và phân công nhiệm vụ
Weekly review Cuối buổi thứ 6 hàng tuần anh hướng
dẫn sẽ tổng kết trao đổi những vấn đề gặp phải và xem lại những nhiệm vụ trong tuần của em
Trang 10CHƯƠ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
Tư cách pháp nhân hiện nay của Công ty TNHH GlobalChain:
Công ty TNHH GlobalChain được thành lập theo giấy phép số: 0316998017 do Sở Kế Hoạch Đầu Tư TP Hồ Chí Minh cấp ngày 27/10/2021, với tư cách pháp nhân hiện nay như sau:
Tên Tiếng Việt: CÔNG TY TNHH GLOBALCHAIN
Tên Tiếng Anh: GLOBALCHAIN COMPANY LIMITED
Tên viết tắt: GLOBALCHAIN CO.,LTD
Địa chỉ: 235 Lý Thường Kiệt, P.6, Q Tân Bình, TP.HCM
✓ Đào tạo sơ cấp, trung cấp
✓ Tư vấn máy vi tính và quản trị hệ thống máy vi tính: Cung cấp các phần cứng, phần mềm của hệ thống, …
✓ Hoạt động dịch vụ công nghệ thông tin và dịch vụ khác liên quan đến máy vi tính
✓ Hoạt động tư vấn quản lý
✓ Nghiên cứu khoa học và phát triển công nghệ trong lĩnh vực khoa học kỹ thuật và công
Kết quả: hiểu thêm về […], 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
- Giới thiệu về công ty
Trang 11GLOBALCHAIN là một công ty công nghệ phát triển theo xu hướng đổi mới sáng tạo, được sáng lập bởi những người có tâm huyết, có năng lực và kinh nghiệm chuyên môn cao với mong muốn hình thành và phát triển thành một công ty phần mềm hàng đầu tại Việt Nam và vươn tầm ra thế giới
GLOBALCHAIN cung cấp các giải pháp bảo mật, an toàn thông tin và hệ thống các phần mềm ứng dụng trí thông minh nhân tạo, để tăng tính tương tác, an toàn, bảo mật trong công tác quản lý, điều hành của các cơ quan nhà nước, ngành công an, quân đội, các doanh nghiệp, tập đoàn, tổng công ty, ngân hàng, trường học, bệnh viện, …
GLOBALCHAIN tập trung nghiên cứu ứng dụng công nghệ Blockchain và các công nghệ hiện đại trong lĩnh vực phần mềm nói riêng và công nghệ thông tin nói chung để
áp dụng vào phát triển các giải pháp nâng cao tính tương tác và an toàn bảo mật thông tin nhằm mục đích thúc đẩy và gắn kết tốt hơn chuỗi kết nối toàn cầu – Global Chain
Tình hình chung của Công ty
Tuy mới thành lập và đi vào hoạt động từ khi có chứng nhận đăng ký doanh nghiệp 27/10/2021 đã từng bước hoàn thiện cơ cấu tổ chức nhân sự, xây dựng chiện lược phát triển Công ty gắn liền tình hình phát triển chung của nên kinh tế và Lĩnh vực kinh tế số Chiến lượt phát triển Công ty tập trung xây dựng phát triển công ty theo hướng: “cung cấp giải pháp an toàn, bảo mật thông tin và các giải pháp phần mềm ứng dụng Blockchain” hàng đầu Việt Nam
Sứ mệnh Globalchain
GLOBALCHAIN thúc đẩy và gắn kết tốt hơn chuỗi kết nối toàn cầu bằng cách tối đa hóa việc ứng dụng công nghệ Blockchain và các công nghệ hiện đại vào việc xây dựng phát triển và cung cấp các giải pháp, phần mềm trí tuệ, độc đáo, tương tác cao, bảo mật,
an toàn thông tin
Gía trị cốt lõi Globalchain - Tư duy sáng tạo và sáng tạo không ngừng, luôn đặt câu
hỏi “Còn cách nào làm tốt hơn không?” - Tư duy hướng đến khách hàng, đặt mình vào
vị trí khách hàng và phục vụ khách hàng một cách tốt nhất
Sơ đồ tổ chức Globalchain
Trang 12Hình 1.2 Sơ đồ nhân sự
Năng lực kỹ thuật của Globalchain
Với tiêu chí tích cực tham gia đóng góp cho sự nghiệp phát triển công nghệ thông tin của đất nước và hiểu rõ khát khao vươn lên của những con người lao động chân chính, một đội ngũ kỹ sư phần mềm trẻ, năng động và nhiệt huyết đã được hình thành từ TỔNG GIÁM ĐỐC BAN ĐIỀU HÀNH Phòng kinh doanh và tiếp thị Phòng phát triển dự án Phòng tổ chức nhân sự Phòng hành chính quản trị Phòng tổ chức kế toán 8 môi trường GLOBALCHAIN với mong muốn cung cấp các giải pháp bảo mật, an toàn thông tin và
hệ thống các phần mềm ứng dụng trí thông minh nhân tạo, để tăng tính tương tác, an toàn, bảo mật trong công tác quản lý, điều hành của các cơ quan nhà nước, ngành công
an, quân đội, các doanh nghiệp, tập đoàn, tổng công ty, ngân hàng, trường học, bệnh viện,…
2.2 Môi trường làm việc
2.2.1 Văn hóa tổ chức
Công ty Globalchain có văn hóa tổ chức linh hoạt và thân thiện, khuyến khích sự sáng tạo và đề cao giá trị đồng đội Công ty tạo ra một môi trường làm việc tôn trọng sự đa dạng và ý kiến của mỗi nhân viên Sự cởi mở và động viên được khuyến khích, và mọi người được đánh giá dựa trên thành tích và năng lực cá nhân
Khuyến khích sự sáng tạo và khám phá trong công việc Nhân viên được động viên để đưa ra ý tưởng mới, thử nghiệm các phương pháp tiếp cận sáng tạo và tìm kiếm giải pháp đột phá
Trang 13Xây dựng một môi trường đồng đội, nơi mọi người được khuyến khích làm việc cùng nhau và chia sẻ kiến thức, kinh nghiệm và ý tưởng Tinh thần hỗ trợ và sự hợp tác giữa các bộ phận và nhóm là điều quan trọng trong văn hóa tổ chức
Công ty đặt khách hàng là trung tâm của mọi hoạt động Tất cả nhân viên được khuyến khích để hiểu và đáp ứng nhu cầu của khách hàng một cách tốt nhất, từ sản phẩm và dịch vụ đến trải nghiệm khách hàng
Chương trình đào tạo và học tập liên tục được cung cấp để nâng cao kỹ năng và kiến thức của nhân viên Đồng thời, mọi người được khuyến khích chia sẻ kiến thức và kinh nghiệm của mình với nhau, góp phần vào sự phát triển chung
-Tìm hiểu nghiên cứu về file Android
-Tìm hiểu tài liệu và nghiên cứu về dự án
-Tìm hiểu và nghiên cứu về BlockChain
-Báo cáo về những gì đã nghiên cứu,tìm hiểu cho người quản lý
-Báo cáo demo những gì đã nghiên cứu và tìm hiểu về decompile
Hoàn thành
Trang 144
24/7/2023-30/7/2023
-Xây dựng API Decompiler file APK với thư viện hỗ trợ Jadx (mã nguồn mở)
-Xử lý lưu trữ file APK và chỉ
có quyền truy cập nó ở Server -Test và kiểm tra hiệu xuất của hệ thống trong quá trình decompile
-Báo cáo và demo những chức năng năng đã hoàn thành
-Báo cáo và demo những giao diện đã hoàn thành
-Báo cáo và demo những chức năng năng đã hoàn thành
Hoàn thành
Trang 15-Họp team và báo cáo về dự án
Hoàn thành
2.2.1 Công nghệ
NestJS là một framework mã nguồn mở để phát triển ứng dụng server-side (backend
applications) bằng ngôn ngữ TypeScript hoặc JavaScript Nó được xây dựng trên cơ
sở của Node.js và sử dụng các khái niệm từ TypeScript để tạo ra một môi trường phát triển hiện đại và mạnh mẽ cho việc xây dựng các ứng dụng web và API
Mục tiêu chính của NestJS là cung cấp một cấu trúc ứng dụng rõ ràng và dễ quản lý, giúp tăng tính bảo trì và sự tổ chức trong mã nguồn Để đạt được điều này, NestJS triển khai mô hình kiến trúc lõi (core architecture) dựa trên các nguyên tắc của
Angular, đặc biệt là sử dụng Dependency Injection (DI) và Modules (Các module)
Hình 2.1 Logo Nestjs
Nextjs là một framework front-end React được phát triển dưới dạng open-source bổ
sung các khả năng tối ưu hóa như render phía máy chủ (SSR) và tạo trang web static Nextjs xây dựng dựa trên thư viện React, có nghĩa là các ứng dụng Nextjs sử dụng core của React và chỉ thêm các tính năng bổ sung Việc triển khai ứng dụng SSR cho phép máy chủ truy cập tất cả dữ liệu được yêu cầu và xử lý JavaScript cùng nhau để hiển thị trang Sau đó, trang được gửi lại toàn bộ cho trình duyệt và ngay lập tức được hiển thị SSR cho phép các trang web load trong thời gian nhỏ nhất và tăng trải
nghiệm người dùng với khả năng phản hồi nhanh hơn
Trang 16Ưu điểm
• Mạng lại khả năng SEO tốt
• Trải nghiệm người dùng tốt hơn
• Làm việc với cơ chế SSG (Static Site Generation) , SSR (Server Side
Rendering) và cả CSR (Client Side Rendering)
• Khởi tạo nhanh chóng
• Hỗ trợ nền React cực kì tốt
• Hỗ trợ cấu trúc và tổ hợp một cách tối ưu
• Hỗ trợ phát triển tính năng nhanh chóng cho việc cấu hình như: Webpack, Babel,…
• Nextjs không cung cấp nhiều trang nhất tích hợp, để làm việc bạn cần phải tạo toàn bộ front-end từ đầu lên
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ-đối tượng (object-relational database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay
PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, Đại học California
PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX Tuy nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows
PostgreSQL là một phần mềm mã nguồn mở miễn phí Mã nguồn của phần mềm khả dụng theo license của PostgreSQL, một license nguồn mở tự do Theo đó, bạn sẽ được
tự do sử dụng, sửa đổi và phân phối PostgreSQL dưới mọi hình thức
PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác