Là một sinh viên thuộc khoa Công nghệ phần mềm, em muốn mình được tiếp xúc với tất cả các loại, các cách, các hướng đi của việc phát triển phần mềm, đồng thời cảm thấy các mục tiêu và gi
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
Vị trí: Fullstack Developer
Công ty thực tập CÔNG TY TNHH CODELINK
Người phụ trách Nguyễn Trần Phong – Technical Leader Thực tập sinh Dương Hiển Thế
Trang 2Lời mở đầu
Ngày nay, ngành công nghiệp phần mềm đã và đang là một trong những ngành nghề có sức phát triển vô cùng mạnh mẽ, chiếm tỉ trọng lớn trong nền kinh tế toàn cầu
và không hề có dấu hiệu chậm lại Nhu cầu thị trường cho một sản phẩm phần mềm hiện nay là cao hơn bao giờ hết Đứng trước đà phát triển này, cùng với nhu cầu vô cùng lớn, đã có nhiều công ty ra đời nhằm đáp ứng thị trường
Một trong những công ty đó là CodeLink Đây là một công ty đa quốc gia với văn phòng tại Thành phố Hồ Chí Minh, Tp Đà Nẵng, Tp Hà Nội và Toronto (Canada) Công ty được thành lập với châm ngôn Desgin Build Scale, luôn đưa chất lượng phần mềm và nhân tố con người chất lượng cao lên hàng đầu
Là một sinh viên thuộc khoa Công nghệ phần mềm, em muốn mình được tiếp xúc với tất cả các loại, các cách, các hướng đi của việc phát triển phần mềm, đồng thời cảm thấy các mục tiêu và giá trị của CodeLink rất phù hợp với định hướng của bản thân, nên em đã quyết định chọn CodeLink là nơi bắt đầu thực tập, mài dũa thêm những kiến thức và kinh nghiệm thực tế trong những bước chập chững đầu tiên của sự nghiệp
Trang 3Lời cảm ơn
Trân trọng gửi lời cảm ơn đến Công ty CodeLink đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Em đã được học rất nhiều thứ từ sự chỉ dẫn nhiệt tình của các anh, chị trong công ty Em không những học được những kỹ thuật, kiến thức trong các dự án thực tế,
mà còn tích góp được cho bản thân những kinh nghiệm khi làm một nhân viên trong công ty, cách giao tiếp, làm việc nhóm trong các dự án chung Chân thành cảm ơn các anh chị, đặc biệt là anh Phong, đã giúp đỡ, hướng dẫn cũng như theo sát để góp ý em trong suốt quá trình thực tập
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ài báo cáo này
Dương Hiển Thế
Tp Hồ Chí Minh, ngày 12 tháng 12 năm 2022
Trang 4Nhận xét của khoa
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5Mục lục
GIỚI THIỆU CÔNG TY THỰC TẬP 5
Giới thiệu về công ty CodeLink 5
Một số dự án của công ty 5
Văn hóa công ty 6
NỘI DUNG THỰC TẬP 7
Tổng quan kế hoạch thực tập 7
Nội dung chi tiết: 8
GIỚI THIỆU VỀ DỰ ÁN 11
Tổng quan 11
Thực hiện 11
Kết quả 11
TÀI LIỆU THAM KHẢO 12
TỔNG KẾT 13
Trang 6GIỚI THIỆU CÔNG TY THỰC TẬP
Giới thiệu về công ty CodeLink
Website: www.codelink.io
Codelink là công ty phần mềm chuyên về phát triển sản phẩm cho các công ty
startup Công ty sử dụng những quy trình phát triển mới nhất như là Agile, Extreme
Programming kết hợp Code Review, Pair Programming, Test Driven Development
(TDD) để đảm bảo chất lượng cho đội ngũ nhân viên và sản phẩm làm ra CodeLink
sử dụng Rails, NodeJS, React, ReactNative và Flutter cho ứng dụng trên web và
mobile
Khách hàng của CodeLink đến từ Hong Kong, Úc, Mỹ, Canada và Việt Nam
Các kỹ sư sẽ làm việc trực tiếp với những CEO, CTO Yêu cầu công việc khá cao
nhưng các bạn nhân viên sẽ phát triển rất nhanh từ những dự án này
CodeLink muốn xây dựng một môi trường phát triển phần mềm chuyên nghiệp
Các bạn kỹ sư sẽ được đào tạo và học hỏi những công nghệ mới nhất từ những thành
viên khác
Một số dự án của công ty
Trang 7Văn hóa công ty
Trang 8NỘI DUNG THỰC TẬP
Đợt thực tập trong 2 tháng nhằm mục đích giúp sinh viên thực tập được đào tạo
về kĩ năng lập trình với vị trí Full Stack Developer, đồ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, khám phá và làm việc trong một môi trường làm việc chuyên nghiệp
Tổng quan kế hoạch thực tập
Kéo dài 8 tuần từ ngày 18/07/2022 đến ngày 16/09/2022
Tuần Công việc Người hướng dẫn Nhận xét
1 Làm quen với công ty, setup các công cụ
cần thiết, tự học về NextJS
Anh Phong, chị Khang, chị Min và anh Tường
2 Tìm hiểu về NextJS, NestJS, tham gia vào
team Báo Nói
Anh Nguyển Trần Phong
3 Pair Programing cùng team member để
hiểu thêm về hệ thống AI của Báo Nói
Anh Nguyễn Trần Phong, Anh Trí Lê
4 Viết API truy vấn dữ liệu lưu trữ trên
Firebase ở Báo Nói NestJS Backend
Anh Nguyễn Trần Phong
5 Thực hiện chuyển đổi các câu truy vấn đến
Backend thay vì trực tiếp đến Firebase ở
Front end
Anh Nguyễn Trần Phong
6 Thêm tính năng quản lý trên Báo Nói
Admin
Anh Nguyễn Trần Phong
7 Chỉnh sửa các lỗi còn lại, thực hiện
refactor code theo đúng convension
Anh Nguyễn Trần Phong
8 Tìm hiểu thực hành sử dụng một số dịch
vụ của Google Cloud Platform (GCP)
Anh Nguyễn Trần Phong
Trang 9Nội dung chi tiết:
Tuần 1: Làm quen với công ty, setup các công cụ cần thiết, tự học về NextJS
Nội dung chi tiết:
- Được nghe anh Daniel - Co-founder giới thiệu về công ty, quá trình thành lập và phát triển, cách công ty tổ chức và quản lý công việc hàng ngày
- Thực tập sinh setup máy móc làm việc, các phần mềm lập trình, các công
cụ giao tiếp (Slack, Gmail ), công cụ quản lý dự án (Github, Jira )
- Sau đó thực tập sinh tự học về ngôn ngữ lập trình Python để chuẩn bị tham gia vào dự án ở tuần tiếp theo
Kết quả
- Hiểu thêm về công ty CodeLink, quá trình thành lập và phát triển
- Có thêm kỹ năng về sử dụng Slack, Email trong công việc, làm việc nhóm, giao tiếp tốt hơn
- Có thêm hiểu biết về thư viện NextJS
Tuần 2: Tìm hiểu về NextJS, NestJS, tham gia vào team Báo Nói
Nội dung chi tiết:
- Được anh Phong ( Technical Lead của team) giới thiệu tổng quát về những
gì team đã làm, đang làm và định hướng phát triển trong tương lai
- Team Báo Nói là 1 dự án sản phẩm của công ty, đang triển khai một ứng dụng đọc báo thông qua API Text-To-Speech mà công ty đã phát triển trước đó
- Tự học về lập trình web với NextJS và NestJS
- Tìm hiểu về các công cụ, môi trường, phần mềm đang được sử dụng trong
Trang 10Tuần 3: Pair Programing cùng team member để hiểu thêm về hệ thống AI của Báo Nói
Nội dung chi tiết:
- Được phân bổ Pair Programing cùng anh Trí để thực hiện viết 1 số API cho Báo Nói backend
Kết quả
- Hiểu thêm về hệ thống, nguồn dữ liệu, cách thu thập và xử lý để có được
dữ liệu của dự án
- Làm quen với việc pair programing, học hỏi được các thói quen và những kinh nghiệm từ anh Trí
Tuần 4: Viết API truy vấn dữ liệu lưu trữ trên Firebase ở Báo Nói NestJS Backend
Nội dung chi tiết:
- Tự mình nhận task và thực hiện viết API truy vấn đến Firebase Firestore
- Viết Unit Test để test tính đúng đắn của API
Kết quả:
- API hoạt động chính xác, code được review và nhận về feedback giá trị
- Biết cách viết Unit Test cho NestJS
Tuần 5: Thực hiện chuyển đổi các câu truy vấn đến Backend thay vì trực tiếp đến Firebase ở Frontend
Nội dung chi tiết:
- Đọc tìm hiểu source code NextJS của Báo Nói Frontend, cách đang truy vấn dữ liệu của hiện tại
- Thực hiện chuyển đổi các câu truy vấn trực tiếp đến Firebase ở Front-end bằng các câu gọi API request đến Backend được thực hiện ở tuần trước đó Kết quả:
Trang 11Tuần 6: Thêm tính năng quản lý trên Báo Nói Admin
- Đọc tìm hiểu source code ReactJS của Báo Nói Admin, tìm hiểu yêu cầu của ticket được giao
- Thực hiện tính năng quản lý của Báo Nói Admin theo yêu cầu, sửa lỗi Kết quả:
- Hiểu thêm về hệ thống quản lý của Báo Nói
- Hoàn thành tính năng, nhận được feed back từ việc review code
Tuần 7: Chỉnh sửa các lỗi còn lại, thực hiện refactor code theo đúng convension
Nội dung chi tiết:
- Nhận các ticket lỗi từ chị Chi (QA), thực hiện tìm hiểu nguyên nhân và
vá lỗi
- Refactor lại toàn bộ source code ban đầu, xóa những file không cần thiết, tối ưu hóa lại các dòng lệnh
Kết quả:
- Tái cấu trúc lại mã nguồn làm cho mã nguồn trong sáng, dễ đọc hơn
- Vá được toàn bộ các lỗi được phát hiện
Tuần 8: Tìm hiểu thực hành sử dụng một số dịch vụ của Google Cloud Platform (GCP)
Nội dung chi tiết:
- Tìm hiểu về một số dịch vụ của Google Cloud Platform: Cloud Run, Cloud Function, Cloud Build, Storage…
Trang 12GIỚI THIỆU VỀ DỰ ÁN
Tổng quan
Dự án là 1 dự án nội bộ được triển khai như là một sân chơi để các nhân viên có thể trao dồi kĩ năng trong lúc chưa nhận được các dự án đến từ phía khách hàng, chính
vì thế, trong thời gian này, nhân viên được thỏa thích tìm hiểu, học hỏi thêm về cách vận hành mới, công nghệ mới, ứng dụng AI vào dự án Trước đó, công ty đã phát triển được API liên quan đến Text To Speech, chính vì thế dự án cũng chính là 1 ví dụ minh họa cho khả năng ứng dụng các công nghệ mà công ty sẵn có, là 1 showcase giúp định hình được những gì công ty có khả năng tự phát triển, và là một nơi để nhân viên có thể luyện tập bản thân mình trước khi tham gia vào các dự án của khách hàng một cách chuyên nghiệp nhất
Thực hiện
Trước khi em tham gia vào thực tập, team đã bước đầu xây dựng được các chức năng cơ bản của App Trong quá trình thực tập, em đã được tham gia vào quá trình phát triển của 1 sản phẩm, dù chỉ là 1 dự án internal nhưng em cũng đã được trải nghiệm hoàn chỉnh các quy trình làm việc của công ty, từ hoạt động nhóm, pair programing tới việc hoạt động độc lập Đây là 1 trải nghiệm hết sức quý giá Dưới sự giúp đỡ của anh Phong, cũng như toàn bộ các thành viên còn lại của team
Kết quả
Hoàn thiện được các chức năng cơ bản của app Báo nói Sản phẩm được triển khai
ở đường dẫn: https://baonoi.ai
Trang 13TÀI LIỆU THAM KHẢO
[1] https://nextjs.org/
[2] https://nestjs.com/
[3] https://www.npmjs.com/
[4] https://firebase.google.com/docs
[5] Cùng một số tài liệu nội bộ của dự án
Trang 14TỔNG KẾT
Qua 2 tháng thực tập tại công ty, em đã được cống hiến công sức của mình vào việc xây dựng một sản phẩm hoàn thiện với ứng dụng công nghệ AI hoàn toàn do công ty làm chủ
Em may mắn được tham gia đầy đủ các mảng trong việc phát triển của sản phẩm, từ front end cho đến backend
Chân thành cảm ơn cơ hội thực tập tại công ty CodeLink và đặc biệt là sự giúp đỡ rất nhiệt tình từ anh Phong, cũng như team Báo Nói đã giúp em hoàn thành tốt đợt thực tập 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 giúp
em hoàn thành bài báo cáo này