Sau hơn ba năm học tập tại trường, tự nhận thấy bản thân đã có đủ kiến thức và mong muốn có thêm kinh nghiệm làm việc trong thực tế, cũng như mong muốn được tham gia vào phát triển ứng d
Trang 11
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
PHÁT TRIỂN ỨNG DỤNG WEB
Công ty thực tập: Công ty cổ phần công nghệ PayME Người phụ trách: Lê Hồng Ân
Thực tập sinh: Nguyễn Phạm Minh Nhật
TP Hồ Chí Minh, tháng 06 năm 2022
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp phát triển ứng dụng web là một phần không thể thiếu trong ngành công nghệ phần mềm Với xu hướng phát triển đó, các trang web giờ đây là một thành phần quan trọng cho bất kỳ doanh nghiệp nào để có thể cạnh tranh trên thị trường
Cùng với sự phát triển của thế giới, Việt Nam cũng không ngoại lệ Các xu hướng phát triển web đã và đang phát triển rất mạnh mẽ để hòa nhập với xu hướng toàn cầu Các công nghệ thay đổi theo từng thời kì đòi hỏi các doanh nghiệp và nhà phát triển luôn phải cập nhật, cải tiến các sản phẩm website của họ
Sau hơn ba năm học tập tại trường, tự nhận thấy bản thân đã có đủ kiến thức và mong muốn có thêm kinh nghiệm làm việc trong thực tế, cũng như mong muốn được tham gia vào phát triển ứng dụng website trong một môi trường chuyên nghiệp, em đã quyết định chọn PayME - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 32
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty cổ phần công nghệ PayME đã 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 tận tình của sếp cùng với tất cả các thành viên team đã giúp em nhanh chóng tiếp thu được những kiến thức cần thiết đủ điều kiện để tham gia vào phát triển dự án thực tế Chân thành cảm ơn các anh chị và các bạn trong team cũng như tất cả mọi người trong công ty đã bỏ thời gian hỗ trợ em rất nhiều trong công việc và chia sẻ với em những kinh nghiệm làm việc quý báu
Đặc biệt cảm ơn anh Lê Hồng Ân và anh Lê Minh Tài hướng dẫn, giúp đỡ em tận tình với những khó khăn trong công việc cũng như những khó khăn trong việc làm quen với môi trường mới
Cũng xin cảm ơn các 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
Nguyễn Phạm Minh Nhật TpHCM, ngày 17 tháng 06 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
Nguyễn Phạm Minh Nhật
4
MỤC LỤC
LỜI MỞ ĐẦU 1
LỜI CẢM ƠN 2
NHẬN XÉT CỦA KHOA 3
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 5
1 GIỚI THIỆU CÔNG TY PAYME 5
2 SẢN PHẨM CỦA CÔNG TY 5
CHƯƠNG 2: NỘI DUNG THỰC TẬP 6
1 TÌM HIỂU CÔNG TY, KỸ NĂNG CƠ BẢN VÀ SETUP MÔI TRƯỜNG LÀM VIỆC 6
2 NGHIÊN CỨU CÔNG NGHỆ 6
2.1 Tìm hiểu về framework Moleculer 6
2.2 Tìm hiểu về RabbitMQ 7
2.3 Tìm hiểu về mã hóa dữ liệu 7
3 THỰC HIỆN PROJECT 7
4 LỊCH LÀM VIỆC 7
CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN 9
1 GIỚI THIỆU CHUNG VỀ DỰ ÁN BO 9
2 KẾ HOẠCH 9
3 CÔNG NGHỆ SỬ DỤNG 10
TÀI LIỆU THAM KHẢO 12
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1 GIỚI THIỆU CÔNG TY PAYME
Công ty cổ phẩn công nghệ PayME được thành lập tháng 11 năm 2010, là công ty tiên phong tại Việt Nam trong lĩnh vực phát triển dịch vụ cung cấp nội dung số trên nền tảng điện thoại di động
Ra đời với 10 thành viên sáng lập, sau 5 năm PayME đã có đội ngũ hơn 400 tài năng trẻ nhiệt huyết, cùng xây dựng cho sự phát triển bền vững của công ty PayME tự hào là một trong những công ty chiếm thị phần lớn nhất về số lượng người dùng lẫn doanh thu trong lĩnh vực phát triển game và các dịch vụ giải trí trên nền tảng di động
2 SẢN PHẨM CỦA CÔNG TY
PayME là nền tảng ví điện tử mở (Open e-wallet) kết hợp thanh toán mạng xã hội (Social Payment), vận hành theo mô hình B2B2C Các giải pháp của PayME giúp doanh nghiệp và người dùng thực hiện giao dịch thanh toán ngay trên môi trường của nền tảng tương tác, từ ứng dụng mạng xã hội phổ biến như Facebook, Instagram… đến ứng dụng của riêng thương hiệu, từ đó mở ra các cơ hội tăng trưởng
Về chiến lược lâu dài, PayME hướng đến xây dựng PayME Net, một mạng lưới kết nối các nhà cung cấp, dịch vụ tài chính và người tiêu dùng Công ty kỳ vọng sẽ giúp doanh nghiệp vừa và lớn tạo ra trải nghiệm thanh toán tốt hơn và cơ hội tăng trưởng kinh doanh
Trang 7Nguyễn Phạm Minh Nhật
6
CHƯƠNG 2: NỘI DUNG THỰC TẬP
Quá trình thực tập giúp thực tập sinh hiểu biết thêm về các công nghệ mới và có thể tham gia vào xây dựng, phát triển một ứng dụng website
1 TÌM HIỂU CÔNG TY, KỸ NĂNG CƠ BẢN VÀ SETUP MÔI TRƯỜNG LÀM VIỆC
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức và quy định của công ty, tự setup máy
tính cá nhân được cung cấp
Đượ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ác tool quản lý các dự án của công ty, cũng như giới thiệu các anh chị sẽ làm việc cùng
Thực tập sinh được chỉ định vị trí làm việc, được cung cấp email, máy tính bàn, sổ tay
và tự setup máy tính cá nhân cho phù hợp với nhu cầu và sở thích của mình
Kết quả : Hiểu thêm về công ty PayME, quy trình làm việc và các công cụ quản lý
Có thêm các kỹ năng làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 NGHIÊN CỨU CÔNG NGHỆ
2.1 Tìm hiểu về framework Moleculer
Thời gian : 7 ngày
Nội dung : Tìm hiểu về các khái niệm chính của Moleculer
- Tìm hiểu về lifecycles
- Tìm hiểu về action
- Tìm hiểu về services
- Tìm hiểu về context
Thực hiện : Thực tập sinh tự đọc tài liệu, tìm hiểu về Moleculer và các khái niệm
chính, nếu có gì không hiểu có thể hỏi
Trang 8Kết quả : Thực tập sinh nắm được cơ bản về framework Moleculer
2.2 Tìm hiểu về RabbitMQ
Thời gian : 3 ngày
Nội dung : Tìm hiểu về RabbitMQ – một AMQP message broker
Thực hiện : Thực tập sinh tự đọc tài liệu, tìm hiểu về RabbitMQ sau đó viết báo cáo
về các khái niệm quan trọng trong RabbitMQ rồi nộp cho mentor
Kết quả: Thực tập sinh nắm và hiểu được các khái niệm quan trọng trong RabbitMQ
2.3 Tìm hiểu về mã hóa dữ liệu
Thời gian : 1 ngày
Nội dung : Tìm hiểu về các phương pháp mã hóa đối xứng, bất đối xứng, băm
Thực hiện : Thực tập sinh tự đọc tài liệu, tìm hiểu viết báo cáo cho ví dụ về từng lọai
mã hóa rồi nộp lại cho mentor
Kết quả : Thực tập sinh nắm rõ và phân biệt được các phương pháp mã hóa
3 THỰC HIỆN PROJECT
Sau khoảng hai tuần tự nghiên cứu tìm hiểu về công nghệ và nhận được sự hướng dẫn
từ mentor, thực tập sinh đã nắm được những kiến thực cơ bản về Moleculer, RabbitMQ và các phương pháp mã hóa dữ liệu Kể từ tuần thứ ba, mentor hướng dẫn thực tập sinh tham gia vào dự án
Chi tiết dự án sẽ được nói ở phần sau
4 LỊCH LÀM VIỆC
Khung giờ làm việc từ 8h đến 12h và từ 13h30 đến 17h30 Từ thứ 2 đến thứ 6 hàng tuần
Trang 9Nguyễn Phạm Minh Nhật
8
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công ty, cách
tổ chức và quy trình làm việc của công ty
- Setup máy tính cá nhân
- Tìm hiểu, nghiên cứu về framework Moleculer và cấu trúc microservice
2
- Tìm hiểu về RabbitMQ
- Tìm hiểu các phương pháp
mã hóa
Từ tuần 3 - Tham gia xây dựng, cài
đặt các chức năng cho trang dự án BO
Trang 10CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN
1 GIỚI THIỆU CHUNG VỀ DỰ ÁN BO
Dự án BO (viết tắt của Business Operation) là website dashboard quản lý tất cả các hoạt động và dự án mà công ty PayME đang triển khai, giúp bộ phận quản lý nắm rõ, đầy
đủ, chi tiết các thông tin giao dịch, số liệu khách hàng để giúp công ty nắm bắt số liệu một cách hiệu quả và nhanh chóng
Dự án BO là một bản nâng cấp của của dự án cũ (tên dự án cũ là Insight) BO được xây dựng sẽ có đầy đủ các tính năng mà Insight có nhưng với giao diện đẹp mắt hơn và cách sử dụng đơn giản, dễ thao tác hơn cho phía người dùng,tốc độ xử lý nhanh hơn đồng thời sẽ tiến hành cài đặt bổ sung thêm nhiều tính năng mới khác
2 KẾ HOẠCH
Dự án được thực hiện bởi nhiều team khác nhau, mỗi team chuyên về một mảng khác nhau liên quan đến dự án Trong đó team API đảm nhận về phần back-end, tức là viết các api và quản lý về phần cơ sở dữ liệu
Các công việc của dự án được quản lý chung trên Trello cho tất cả các team tham gia Các yêu cầu công việc mới hoặc yêu cầu sửa đổi sẽ được bàn bạc trong các cuộc họp định
kỳ và phát sinh của phía ban quản lý, sau đó các sếp của mỗi team sẽ thêm mô tả công việc
và chỉ định thành viên thực hiện
Do là dự án nội bộ của công ty và liên quan đến nghiệp vụ quản lý, điều hành công ty nên các yêu cầu thêm mới chức năng hoặc chỉnh sửa các chức năng cũ sẽ được cập nhật dần trong quá trình phát triển và sử dụng Vì vậy, không có thời gian phát triển ước tính cụ
Trang 11Nguyễn Phạm Minh Nhật
10
3 CÔNG NGHỆ SỬ DỤNG
• Backend: Sử dụng framework Moleculer, MongoDB, NATS, docker, docker-compose, gitlab cicd
• Frontend: Sử dụng framework ReactJS, NextJS, redux, redux-saga
• Quản lý source code: Gitlab
• Quản lý các công việc: Trello
Trang 12TỔNG KẾT
Như vậy, chỉ trong vòng ba tháng ngắn ngủi, em và team API đã cài hoàn thành tương đối đầy đủ các tính năng của Dashboard Các tính năng được xây dựng và kiểm thử kỹ càng, đáp ứng được yêu cầu công việc
Chân thành cảm ơn các thành viên team API nói riêng và mọi người trong công ty đã giúp em hoàn thành tốt các công việc được giao và góp phần vào sự thành công của dự án
Trang 13Nguyễn Phạm Minh Nhật
12
TÀI LIỆU THAM KHẢO
[1] Moleculer: https://moleculer.services
[2] RabbitMQ: https://www.rabbitmq.com/
[3] RSA: https://viblo.asia/p/he-ma-hoa-rsa-va-chu-ky-so-6J3ZgkgMZmB
[4] AES: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
[5] Microservices: https://microservices.io/
[6] Docker: https://www.docker.com/