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 Công ty cổ phầ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
BACKEND DEVLOPER
Công ty thực tập: Công ty cổ phần giải
pháp công nghệ GPT Người phụ trách: Nguyễn Xuân Bách
Thực tập sinh: Nguyễn Hoàng Kiệt
TP Hồ Chí Minh, tháng 01 năm 2024
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 backend 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 Công ty cổ phần giải pháp công nghệ GPT – một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định
2
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn Công ty cổ phần giải pháp công nghệ GPT đã 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 Nguyễn Xuân Bách, 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 anh Nguyễn Xuân Bách và các anh chị trong team trainer đã bỏ ra nhiều thời gian, công sức để hướng dẫn, 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 dự án cá nhân và dự án thực tế trong 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 25 tháng 12 năm 2023
Nguyễn Hoàng Kiệt
Trang 4NHẬN XÉT CỦA KHOA
4
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 6
CHƯƠNG 2: NỘI DUNG THỰC TẬP 7
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
2.2 Nghiên cứu kỹ thuật 7
2.2.1 Tuần 1 7
2.2.2 Tuần 2 7
2.2.3 Tuần 3 8
2.3 Tham gia dự án thực tế 8
2.3.1 Giới thiệu 8
2.3.2 Quá trình thực hiện 11
2.3.3 Kết quả 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 17
Trang 7CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu
Hình 1 1 Gpt group
GPT GROUP là Tập Đoàn Công Nghệ tập trung phát triển các sản phẩm chất lượng về Bảo Mật Thông Tin, Chuyển Đổi Số, Phần Mềm Tạo ra sự chuyển đổi mạnh mẽ giúp Doanh Nghiệp vừa và nhỏ hiện thực hóa Tầm Nhìn & Sứ Mệnh, từ đó mang lại nhiều lợi ích cho khách hàng, nhân viên và nhà đầu tư
GPT Group đã, đang và sẽ không ngừng phát triển các sản phẩm công nghệ chất lượng cao giúp nâng tầm doanh nghiệp và đóng góp tích cực vào sự phát triển của Công Nghệ Thông Tin tại Việt Nam Năm 2027 trở thành Tập đoàn Công nghệ đi đầu trong việc đảm bảo chất lượng về Bảo Mật Thông Tin, Chuyển Đổi Số, Phần Mềm tiêu biểu tại Việt Nam
1.2 Sản phẩm công ty
Là Tập Đoàn Công Nghệ tập trung phát triển các sản phẩm chất lượng về Bảo Mật Thông Tin, Chuyển Đổi Số, Phần Mềm, cung cấp các sản phẩm về Website, các phần mềm Mobile theo yêu cầu của khách hàng
1.3 Lịch làm việc khi thực tập tại công ty
Em tham gia làm việc tại công ty bắt đầu từ ngày 29/05/2023 tới 29/11/2023, các ngày làm việc trong tuần là từ thứ 2 đến thứ 6 Công việc hằng ngày bắt đầu từ lúc 8h đến 17h Thời gian nghỉ trưa khoảng 1 tiếng Sau mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trong ngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu cho ngày làm
Trang 8việc tiếp theo Mỗi tuần sẽ họp tiến độ tuần 1 lần vào sáng thứ 5 , mọi người sẽ cùng họp và bàn bạc về các vấn đề đã giải quyết, tồn đọng, bài học, giải pháp và mục tiêu cho tuần tiếp theo
8
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: 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 (như đã nhắc đến ở trê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 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 ty GPT, 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
2.2.1 Tuần 1
Nội dung: Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Github Desktop- sử dụng trong làm việc nhóm, MongoDBCompass – quản lý cơ sở dữ liệu, Visual Studio Code -một IDE rất hữu ích và phổ biến với lập trình viên, Postman - ứng dụng chạy sử api
Kết quả: Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ với nhau
2.2.2 Tuần 2
Nội dung: Được training về các kỹ thuật Javascript, những kiến thức quan trọng cho việc tối ưu
Lập trình hướng đối tượng:
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngoài ra, thực tập sinh còn được hướng dẫn về cách thiết kế lớp cho các đối tượng trong phần mềm
Quản lý bộ nhớ:
Thực tập sinh sẽ được hướng dẫn về cách cấp phát, quản lý bộ nhớ sao cho tối ưu, tránh rò rỉ bộ nhớ, một trong những phần rất quan trọng trong lập trình phần mềm
Kết quả:
- Nâng cao kỹ năng lập trình với ngôn ngữ Javascript
- Có được những kiến thức quan trọng cho việc lập trình phần mềm sau này
Trang 10- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn,
dễ đọc, dễ hiểu
2.2.3 Tuần 3
Nội dung: Các kiến thức cơ bản về ExpressJS để có thể làm ra một server đơn giản
ExpressJS:
Là một framework được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính
năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ các method HTTP và
midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng
RESTful API:
Là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP
Swagger :
Là 1 open source dùng để phát triển, thiết kế, xây dựng và làm tài liệu cho các hệ thống RESTfull Web Service
Kết quả:
- Hiểu được những khái niệm cơ bản trong lập trình backend với ExpressJS
- Đã viết được các api với ExpressJS và swagger để mô tả api
2.3 Tham gia dự án thực tế
2.3.1 Giới thiệu
Xây dựng phần mềm giao nhận hàng hóa với các chức năng quan trọng của phần mềm bao gồm theo dõi trạng thái của đơn hàng, lên lịch vận chuyển, quản lý tài xế và xe vận chuyển, cũng như cung cấp báo cáo chi tiết về hiệu suất và hoạt động của hệ thống Nhờ vào tính năng này, doanh nghiệp có thể đảm bảo sự minh bạch và hiệu suất cao trong quá trình vận chuyển hàng hóa, đồng thời tối ưu hóa quy trình làm việc và cung cấp trải nghiệm tốt nhất cho khách hàng
10
Trang 11Hình 2 1 Màn hình trang chủ
Hình 2 2 Màn hình đăng nhập
Trang 12Hình 2 3 Màn hình quản lý nội dung giới thiệu
Hình 2 4 Màn hình quản lý đối tác
12
Trang 13Hình 2 5 Màn hình quản lý nội dung tuyển dụng
Hình 2 6 Màn hình quản lý đơn hàng
2.3.2 Quá trình thực hiện
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 của công ty
Làm quen với các công cụ làm
việc trong công ty
Học cách trao đổi, làm việc qua
Anh Nguyễn Xuân Bách
100%
Trang 14Tìm hiểu ngôn ngữ lập trình
Javascript
Thực hành Javascript
Làm bài test Javascript
Anh Nguyễn Xuân Bách
100%
3 Tìm hiểu về dự án và test api Anh Nguyễn Xuân
Bách
100%
4 Chức năng lịch đối soát Anh Nguyễn Xuân
Bách
100%
5 Chức api vận chuyển đơn Anh Nguyễn Xuân
Bách
100%
6 Chức năng quản lý bưu cục Anh Nguyễn Xuân
Bách
100%
7 Tạo mã bưu cục theo nguyên tắc Anh Nguyễn Xuân
Bách
100%
Bách
100%
2.3.3 Kết quả
Thực hiện 1 số api chức năng: quét mã đơn, quản lý bưu cục, bảo dưỡng, bảo hiểm xe, điều động xe
Hình 2 7 Một số api quản lý đơn hàng
14
Trang 15Hình 2 8 Một số api quản lý bảo dưởng xe
Hình 2 9 Triển khai server trên render
Trang 16CHƯƠNG 3: TỔNG KẾT
Quảng thời gian thực tập tại Công ty cổ phần giải pháp công nghệ GPT đã giúp em cải thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, làm việc nhóm, giao tiếp với cấp trên, …
Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với các tính năng, yêu cầu đặt ra ban đầu
Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạt chất lượng tốt
3.1 Điểm mạnh
Kiến thức và kỹ năng chuyên môn:
- Nắm vững các ngôn ngữ lập trình như Javascript
- Hiểu biết sâu sắc về cấu trúc dữ liệu và thuật toán
- Kinh nghiệm làm việc với các framework như ExpressJS
Vấn đề giải quyết:
- Khả năng phân tích và giải quyết vấn đề một cách sáng tạo
- Thực hiện các dự án có tính ứng dụng cao và hiệu suất tốt
Giao tiếp và làm việc nhóm:
- Kỹ năng giao tiếp tốt, có khả năng diễn đạt ý kiến và giải thích công việc một cách rõ ràng
- Hiệu quả trong việc làm việc nhóm và chia sẻ kiến thức
Tự quản lý và tổ chức:
- Tự động quản lý công việc, tuân thủ thời gian và hoàn thành nhiệm vụ đúng hạn
- Kỹ năng quản lý dự án tốt
Tư duy phân tích:
- Khả năng phân tích yêu cầu và thiết kế hệ thống một cách logic
3.2 Điểm yếu
Kinh nghiệm cụ thể:
- Thiếu kinh nghiệm trong một số công nghệ hoặc ngôn ngữ lập trình cụ thể
16
Trang 17Giao tiếp và thuyết trình:
- Cần cải thiện kỹ năng thuyết trình và giao tiếp trước công chúng
- Khả năng viết tài liệu và báo cáo có thể cần được cải thiện
Quản lý thời gian:
- Thỉnh thoảng gặp khó khăn trong việc quản lý thời gian và ưu tiên công việc
Kỹ năng Testing:
- Cần cải thiện trong việc thực hiện kiểm thử và đảm bảo chất lượng
Kỹ năng học kiến thức mới:
- Có thể cần thời gian để nắm bắt và thích nghi với công nghệ mới
3.3 Chuẩn đạt được
Thực hiện dự án:
- Hoàn thành dự án thực tập với hiệu suất cao và theo đúng tiến độ
- Đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng của dự án
Tự quản lý:
- Quản lý thời gian hiệu quả, tuân thủ các kỳ hạn công việc
- Hiểu và áp dụng các nguyên tắc quản lý dự án để tự tổ chức công việc
Kỹ năng kỹ thuật:
- Sử dụng thành thạo các công nghệ và ngôn ngữ lập trình liên quan đến dự án
- Thực hiện mã nguồn sạch sẽ, dễ hiểu và dễ bảo trì
Giao tiếp và làm việc nhóm:
- Tương tác tích cực trong nhóm làm việc và đóng góp ý kiến xây dựng
- Chia sẻ thông tin một cách rõ ràng và hiệu quả với các thành viên khác
Phân tích và thiết kế:
- Thực hiện phân tích yêu cầu một cách chi tiết và hiệu quả
- Đề xuất và triển khai các giải pháp thiết kế hệ thống có tính mở rộng và linh hoạt
Kỹ năng tự học:
- Nắm bắt và học nhanh chóng các công nghệ mới và cách triển khai chúng
- Tìm kiếm và áp dụng kiến thức mới để giải quyết các vấn đề phức tạp
Trang 18Kiểm thử và đảm bảo chất lượng:
- Thực hiện kiểm thử kỹ thuật và đảm bảo chất lượng sản phẩm
- Sửa lỗi và cải thiện mã nguồn dựa trên kết quả kiểm thử
Tài liệu và báo cáo:
- Viết tài liệu và báo cáo một cách chi tiết và dễ hiểu
- Ghi chép đầy đủ và chính xác về các giai đoạn của dự án
Thực hiện biểu đồ Gantt:
- Sử dụng biểu đồ Gantt để theo dõi và báo cáo tiến độ công việc
Phản hồi và học tập:
- Chấp nhận phản hồi một cách xây dựng và áp dụng để cải thiện hiệu suất cá nhân
- Đặt ra các mục tiêu học tập mới dựa trên trải nghiệm thực tập
18
Trang 19TÀI LIỆU THAM KHẢO
[1] NodeJS: https://nodejs.org/docs/latest/api/
[2] ExpressJS: https://expressjs.com/
[3] MongoDB: https://www.mongodb.com/docs/
[4] StackOverflow: https://stackoverflow.com/