ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
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
XÂY DỰNG PRODUCT PULSELY
Công ty thực tập
Người phụ trách hướng dẫn
Thực tập sinh
MSSV
GEEK UP TECHNOLOGY JSC
Nguyễn Minh Trung
Nguyễn Đức Hướng
19521592
TP.Hồ Chí Minh, tháng 06 năm 2022
LỜI MỞ ĐẦU
Vào thế kỷ 21, Cuộc Cách mạng Công nghiệp 4.0 Internet nói chung và ngành công nghiệp
Phát triển Ứng dụng di động là một phần không thể thiếu của thế giới. Với tốc độ phát triển vô
cùng mạnh mẽ, ngành Phát triển Ứng dụng di động đã và đang nắm vai trò chủ chốt trong nền
kinh tế thế giới, và tiềm năng của ngành vẫn còn có thể đi xa hơn trong tương lai khi mọi người
có thể thực hiện mọi thứ với chiếc điện thoại di động thông minh.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành công
nghiệp Phát triển Ứng dụng di động của Việt Nam đang phát triển rất mạnh mẽ, đủ sức hòa nhập,
hợp tác với những công ty hàng đầu về xây dựng ứng dụng điện thoại trên thế giới.
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công
nghệ Thông tin chúng em đã được trang bị các kiến thức về chuyên môn và kỹ năng mềm. Với
mong muốn bổ sung thêm kinh nghiệm và các kỹ năng làm việc trong một môi trường chuyên
nghiệp, em lên kế hoạch cho một khóa thực tập trong học kỳ này. Sau khi tìm hiểu về lịch sử phát
triển và văn hóa thì em quyết định chọn Công Ty Cổ phần Công nghệ Geek Up - 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 hóa dự định này.
1
LỜI CẢM ƠN
Em xin chân thành cảm ơn nhà trường và quý thầy cô trường Đại học Công Nghệ Thông
Tin đã tận tâm hướng dẫn, giảng dạy cho em những kiến thức chuyên môn cũng như kỹ năng
mềm trong hơn 3 năm ngồi trên giảng đường đại học, từ đó đã xây dựng cho em nền tảng vững
chắc tạo giúp em thực hiện hóa ước mơ.
Trân trọng gửi lời cảm ơn Công ty Cổ phần Công nghệ Geek Up đã tạo điều kiện cho em
có cơ hội được thực tập tại công ty, cho em trải nghiệm một môi trường làm việc cực kỳ chuyên
nghiệp và hiệu quả. Cùng với các người đồng đội trong kỳ thực tập, em mong rằng chúng em đã
để lại một dấu ấn, những kỷ niệm đẹp trong kỳ thực tập vừa qua.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh chị hướng dẫn,
nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được một
Trusted Product. Chân thành cảm ơn các anh chị trong nhóm hướng dẫn đã bỏ ra nhiều thời gian,
công sức để hướng dẫn chúng em hoàn thành đợt thực tập này.
Bên cạnh kinh nghiệm quý báu về kỹ năng chuyên môn về Phát triển WebApp, còn có
những kỹ năng về làm việc nhóm, quy trình làm việc chuyên nghiệp. Các anh chị hướng dẫn đã
dạy em những kỹ thuật cần thiết trong giao tiếp và truyền đạt cho em những kinh nghiệm của anh
chị trong quá trình làm việc, trao đổi với khách hàng và tinh thần trách nhiệm với công việc và
với đồng đội. Các anh chị đã tạo cho em nhiều cơ hội để ứng dụng những kiến thức đó ngay vào
thực tế để xây dựng dự án thực tiễn đi từ lúc ban đầu, nâng cao trình độ, cũng như tốc độ lập trình
và trí thức thêm một bậc.
Em xin chân thành cảm ơn!
Nguyễn Đức Hướng
TP.Hồ Chí Minh, tháng 06 năm 2022
2
NHẬN XÉT CỦA KHOA
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………..……………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
…………………………..…………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
…………………………………………………………………………………………..…………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………..………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………..……………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………..……………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
…………………………………………..…………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
3
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 GEEKUp .......................................................................................................... 5
2. Sản phẩm của công ty ..................................................................................................................... 6
Chương 2: Nội dung thực tập ................................................................................................................. 9
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty .................................................................. 9
2. Nghiên cứu kỹ thuật ..................................................................................................................... 10
2.1. Tìm hiểu thư viện ReactJs, DvaJs & AntDesign trong phát triển ứng dụng Web ................ 10
2.2. Git và các quy tắc sử dụng .................................................................................................... 12
2.3. Phát triển Ứng dụng Web trên thư viện ReactJs ................................................................... 13
2.4. Mô hình Agile ....................................................................................................................... 13
3. Thực hiện project .......................................................................................................................... 15
4. Lịch làm việc ................................................................................................................................ 15
Chương 3: Chi tiết về project Pulsely .................................................................................................. 20
1. Giới thiệu về Pulsely .................................................................................................................... 20
2. Vì sao cần có Pulsely? .................................................................................................................. 20
3. Cấu trúc của Pulsely ..................................................................................................................... 20
4. Mục tiêu của Pulsely .................................................................................................................... 21
5. Các chức năng chính của Pulsely ................................................................................................. 22
TỔNG KẾT .............................................................................................................................................. 26
1. Thành quả ..................................................................................................................................... 26
2. Cần cải thiện trong thời gian tới ................................................................................................... 26
3. Cảm nhận của bản thân về công ty ............................................................................................... 26
TÀI LIỆU THAM KHẢO ........................................................................................................................ 27
4
Chương 1: Giới thiệu công ty thực tập
1. Giới thiệu công ty GEEKUp
● Tên đơn vị: Công ty Cổ phần Công nghệ Geek Up (GEEK UP TECHNOLOGY
JSC)
● Lĩnh vực hoạt động: Xuất bản phần mềm
● Địa chỉ:
○ Trụ sở chính: 244/31 Huỳnh Văn Bánh, Phường 11, Quận Phú Nhuận, Thành
phố Hồ Chí Minh
○ Chi nhánh: 27B / 9 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, Thành
phố Hồ Chí Minh
● Trang web: www.geekup.vn
● Email:
[email protected]
● Điện thoại: +84 28 6262 4400
● Thời gian làm việc: Thứ 2 đến thứ 6: 08h30 - 17h30
● Slogan: “Insightful development”
● Sứ mệnh: Xây dựng các sản phẩm phần mềm mang lại nhiều giá trị cho người dùng
● Giá trị cốt lõi
○ Honesty: Sống hết mình với đam mê, là chính mình và phấn đấu hướng tới
những giá trị chung.
○ Geeks Get it done: Luôn cố gắng hoàn thành công việc đạt kết quả mong
đợi.
○ High standard: Luôn thử thách bản thân để nâng cao trình độ chuyên môn.
○ Stay Hungry, Stay Foolish: Không dừng lại với khả năng hiện tại, luôn tiếp
tục trau dồi học hỏi.
5
2. Sản phẩm của công ty
TP BANK - Ngân hàng số hàng đầu Việt Nam
Nâng cao trải nghiệm người dùng cho Ngân hàng số tiên phong
Thiết kế giao diện, trải nghiệm người dùng cho hệ sinh thái các ứng dụng của TPBank, ứng dụng
TPBank đã được xếp hạng Top 1 lĩnh vực tài chính Việt Nam trên App Store/ Play Store năm
2020.
6
The Coffee House - Chuỗi cà phê tăng trưởng nhanh số 1 tại Việt Nam
Nền tảng Loyalty platform đầu tiên cho chuỗi cafe hàng đầu Việt Nam
Hiện thực hóa chương trình khách hàng thân thiết của The Coffee House từ phiên bản MVP
kiểm thử đầu tiên, giúp họ chuyển đổi hoạt động kinh doanh từ offline sang online.
7
SMRT - nhà điều hành giao thông công cộng đa phương thức hàng đầu ở Singapore
Nền tảng giao thông công cộng thay đổi trải nghiệm di chuyển của 6 triệu người dân
Singapore
GEEK Up hợp tác với Tập đoàn SMRT xây dựng nền tảng mới mang đến trải nghiệm giao thông
công cộng thuận tiện tại Singapore.
8
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Xây dựng Product Pulsely” và mục tiêu là xây dựng server, client
trên nền tảng Web và Mobile (Android), đồ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 phát triển Product chuyên nghiệp.
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 3 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,
quy trình làm việc để deliver một sản phẩm, cách thức tổ chức của công ty, tinh thần của
mọi người trong công ty Geek Up, các vị trí hiện tại trong công ty, cách mọi người trong
công ty làm việc với nhau,…
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ác bước cần thực hiện trước khi bắt đầu
vào làm, trong quá trình làm việc và khi kết thúc một ngày làm việc.
Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc. Cũng trong thời
gian này, các anh chị hướng dẫn thực tập sinh tìm hiểu các công cụ phục vụ cho từng mục
đích cụ thể khi làm việc. Hầu hết các công cụ đều là sản phẩm lưu hành nội bộ công ty,
ngoài ra còn có các ứng dụng, phần mềm hỗ trợ như Google Meet – phục vụ cho mục đích
gặp và trao đổi trực tiếp trong bối cảnh WFH, Zoom – phục vụ cho nhu cầu tham gia các
buổi Workshop, Seminar hay Meeting diễn ra thường xuyên và đều đặn trong công ty.
Kết quả : Hiểu thêm về công ty Geek Up, quá trình thành lập và phát triển cho đến hiện
tại. Cách vận hành trong công ty, cách phối hợp với nhau giữa các thành viên. Có thêm
các kỹ năng về việc quản lý dự án, tinh thần trách nhiệm, kỹ năng giao tiếp qua các công
cụ do công ty cung cấp.
9
2. Nghiên cứu kỹ thuật
2.1. Tìm hiểu thư viện ReactJs, DvaJs & AntDesign trong phát triển ứng dụng Web
Thời gian : 1 ngày song song với thực hành trong suốt quá trình thực tập.
Nội dung : Được training về các kỹ thuật liên quan đến ngôn ngữ lập trình Javascript
và các thư viện hỗ trợ xây dựng ứng dụng Web bao gồm:
● ReactJs: Cấu trúc của một Project ReactJs, các Hooks được ReactJs cung cấp
(useState, useEfffect,..), cách chia tách các Component hợp lý
● DvaJs: Là một thư viện giúp quản lý trạng thái của ứng dụng (State Management)
tương tự Redux-Saga. Hiểu được cách thức quản lý trạng thái:
○ Khi truy cập đến trang Web bằng một URL, ReactJs sẽ dược vào route được
gọi để render ra đúng page người dung yêu cầu.
○ Khi người dung thực hiện một hành động nào đó ảnh hưởng đến trạng thái
của ứng dụng (Thêm mới câu hỏi, sửa câu hỏi,..), một Action sẽ được
dispatch đến Effect / Reducer để xử lý.
■ Effect: Xử lý các tác vụ với Server (Call API để nhận / thay đổi dữ
liệu) nhờ cơ chế bất đồng bộ
■ Reducer: Thay đổi trực tiếp trạng thái (State) của ứng dụng Web
○ State sẽ kết nối trực tiếp đến Route Component để cung cấp dữ liệu cho trang
Web. UI trên web sẽ được cập nhật liên tục khi State thay đổi
●
● Ant Design (AntD): Một UI Library tương tự Material UI. Hiểu được cách sử dụng
các component mà AntD hỗ trợ, đặc biết là Form được AntD cung cấp hỗ trợ rất
mạnh cho việc quản lý tạo Form và xác thực dữ liệu trên form. Ngoài ra, Coach
cũng hỗ trợ việc tìm hiểu về Less (Một CSS-Preprocessor) để hiện thực UI và
custom các Component của AntD theo ý muốn.
Thực hiện:
● Tham gia đầy đủ các buổi training của team cùng Coach.
● Làm các bài thực hành, kiểm tra về kiến thức đã học.
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 phát triểu ứng dụng Web sau này.
10
● Nắm được những tiêu chuẩn khi thiết kế một trang Web, phù hợp với người dung
cuối.
● 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, dễ bảo trì.
11
2.2. Git và các quy tắc sử dụng
Thời gian : 0.5 ngày song song với thực hành trong suốt quá trình thực tập.
Nội dung : Được training về các kỹ thuật liên quan đến việc sử dụng Git một cách hiệu
quả.
● Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version
Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán
phổ biến nhất hiện nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ
nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho
chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy
thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác
(nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone
lại một tập hợp các thay đổi mới nhất trên máy tính kia. Trong Git, thư mục làm
việc trên máy tính gọi là Working Tree.
● Ngoài ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp ta lưu lại các
phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàng khôi phục lại dễ
dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó. Và một người khác có
thể xem các thay đổi của bạn ở từng phiên bản, họ cũng có thể đối chiếu các thay
đổi của bạn rồi gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tất cả có
thể đưa các thay đổi vào mã nguồn của mình lên một kho chứa mã nguồn.
● Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot) trên mỗi
tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một
ảnh chụp nào đó mà bạn có thể hiểu đó là một phiên bản. Đây cũng chính là lợi thế
của Git so với các DVCS khác khi nó không “lưu cứng” dữ liệu mà sẽ lưu với dạng
snapshot.
● Cấu trúc branch:
○ Master: là nhánh chính, run trên production.
○ Development (/dev): là nhánh replica cho nhánh master cộng với các nhánh
feature đang được phát triển
○ Feature (/dev/feature-home): được tách từ nhánh dev, chức năng sau khi
được phát triển sẽ được merge vào dev trước khi merge vào master
Thực hiện :
● Tham gia đầy đủ các buổi training của công ty.
● Áp dụng tốt vào quá trình deliver dự án.
Kết quả :
● Hiểu và thành thạo kỹ năng sử dụng Git.
12
2.3. Phát triển Ứng dụng Web trên thư viện ReactJs
Thời gian: 2 ngày song song với thực hành trong suốt quá trình thực tập.
Nội dung: Được training về các kiến thức căn bản cần thiết và các kỹ năng, những điểm
cần chú ý trong quá trình phát triển ứng dụng Web. Song song với kiến thức và kỹ năng
của lập trình ứng dụng web, thực tập sinh còn được training về cách sử dụng hiệu quả
text editor VSCode cùng các extension đi kèm, cách thao tác với terminal để khởi chạy
project ReactJs và tải các dependency phù hợp.
● React giúp tạo các UI tương tác một cách dễ dàng. Thiết kế các khung nhìn đơn
giản cho từng trạng thái trong ứng dụng của bạn, và React sẽ cập nhật và render
đúng các thành phần phù hợp khi dữ liệu của bạn thay đổi.
● Việc khai báo các khung nhìn tường minh sẽ khiến cho mã của bạn dễ sử dụng hơn
và dễ dàng gỡ lỗi hơn.
Thực hiện :
● Tham gia đầy đủ các buổi training.
● Áp dụng tốt vào quá trình deliver dự án.
Kết quả :
● Hiểu được những khái niệm cơ bản trong lập trình ứng dụng Web và áp dụng tốt
vào quá trình deliver sản phẩm.
2.4. Mô hình Agile
Thời gian: 2 ngày song song với thực hành trong suốt quá trình thực tập.
Nội dung : Được training về các kiến thức chung và tìm hiểu về việc áp dụng mô hình
vào quy trình làm việc nhóm trong quá trình thực tập. Đây là mô hình làm việc mà
công ty GEEK Up đã apply vào sử dụng trên mọi product của công ty.
Khái niệm Agile (viết tắt của Agile Software Development) có nghĩa là phương thức
phát triển phần mềm linh hoạt, được ứng dụng trong quy trình phát triển phần mềm với
mục tiêu là đưa sản phẩm đến tay người dùng càng nhanh càng tốt.
Rất nhiều nơi định nghĩa Agile như một phương pháp. Thực chất, Agile giống như một
phương pháp luận, một triết lý dựa trên hơn nguyên tắc phân đoạn vòng lặp (iterative)
và tăng trưởng (incremental).
Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình là phát triển
phần mềm để đóng góp sự thay đổi trong cách thức làm việc, quản lí, sản xuất ở các
ngành khác như sản xuất, dịch vụ, sales, marketing, giáo dục... và trở thành một phương
thức quản lý dự án phổ biến nhất hiện nay với nhiều đại diện được gọi là các phương
pháp “họ Agile”.
● 4 tôn chỉ cần tuân thủ trong phương pháp Agile
13
○ Cá nhân và sự tương hỗ quan trọng hơn quy trình và công cụ: Trọng tâm đặt
lên con người, xây dựng tương tác và hỗ trợ giữa các thành viên trong nhóm.
Những thành viên có năng lực, chịu tương trợ nhau trong công việc sẽ mang
đến thành công cho dự án.
○ Sản phẩm dùng được tốt hơn tài liệu đầy đủ: Tập trung thời gian để làm ra
phần mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách hàng.
○ Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng: Hiểu được
khách hàng cần gì để tư vấn và điều chỉnh sản phẩm thay vì chỉ dựa vào các
điều khoản trong hợp đồng.
○ Phản hồi thay đổi hơn là bám sát kế hoạch: Agile khuyến khích thích nghi
với sự thay đổi, đó có thể là thay đổi về công nghệ, nhân sự, deadline,...
● 12 nguyên tắc quan trọng trong Agile
○ Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản
phẩm có giá trị.
○ Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát
triển.
○ Giao phần mềm chạy được cho khách hàng một cách thường xuyên.
○ Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt
dự án.
○ Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ
cần thiết, môi trường làm việc và niềm tin để hoàn thành công việc.
○ Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.
○ Thước đo chính của tiến độ là phần mềm chạy tốt.
○ Phát triển liên tục và bền vững.
○ Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
○ Nghệ thuật tối đa hóa lượng công việc chưa xong - Sự đơn giản là cần thiết.
○ Nhóm tự tổ chức
○ Thích ứng thường xuyên với những thay đổi.
● Điểm mạnh:
○ Thực hiện thay đổi dễ dàng
○ Không cần phải nắm mọi thông tin ngay từ đầu
○ Bàn giao nhanh hơn
○ Chú ý đến phản hồi của khách hàng và người dùng
○ Cải tiến liên tục
● Agile ở GEEK Up
○ Sprint Planning (Họp Kế hoạch Sprint- Iteration): Nhóm phát triển gặp
gỡ với Product Owner để lên kế hoạch làm việc cho một Sprint (xem thêm
14
phần Sprint bên dưới). Công việc lập kế hoạch bao gồm việc chọn lựa các
yêu cầu cần phải phát triển, phân tích và nhận biết các công việc phải làm
kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ. Chia nhỏ
công việc thành các backlog (task) để có thể theo dõi tiến độ dự án dễ dàng
hơn. Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời
gian, theo đó, việc lập kế hoạch không diễn ra duy nhất một lần trong vòng
đời của dự án mà được lặp đi lặp lại, có sự thích nghi với các tình hình thực
tiễn trong tiến trình đi đến sản phẩm.
○ Daily Scrum (Họp Scrum hằng ngày): Scrum Master tổ chức cho Đội sản
xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát triển chia sẻ tiến
độ công việc cũng như chia sẻ các khó khăn gặp phải trong quá trình phát
triển phần mềm suốt một Sprint.
○ Sprint Review (Họp Sơ kết Sprint): Cuối Sprint, nhóm phát triển cùng với
Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong Sprint
vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết cho sản phẩm.
○ Sprint Retrospective (Họp Cải tiến Sprint): Dưới sự trợ giúp của Scrum
Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm
cách cải tiến quy trình làm việc cũng như bản thân sản phẩm.
Thực hiện :
● Tham gia đầy đủ các buổi training.
● Áp dụng tốt vào quá trình deliver dự án
Kết quả:
● Hiểu được những khái niệm của agile và áp dụng tốt vào quá trình deliver sản phẩm.
3. Thực hiện project
Sau một tuần được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ
bản về Java, Android, Git, và Agile. Trong thời gian còn lại, thực tập sinh đã được hướng
dẫn áp dụng những kiến thức đã học để cùng nhau deliver dự án.
4. Lịch làm việc
Tuần
Công việc
Người hướng dẫn
- Tìm hiểu về công ty, cách tổ chức của công Chị Uyên Phan
Anh Nguyễn Minh Trung
ty.
- Làm quen với cách làm việc theo mô hình Anh Đặng Vũ Minh Hiếu
Anh Đào Vũ Quốc Trung
Agile của công ty.
1
Chị Hoài Thương
- Làm quen với các công cụ làm việc trong Chị Thảo Đoàn
công ty (Phần mềm riêng chuyên dụng trao Anh Chris Nguyễn
15
-
-
-
2-3
(Iteration
1)
-
-
-
đổi thông tin của công ty, Cổng lưu trữ các
document của squad, email của công ty,…).
Cài đặt môi trường để chuẩn bị cho dự án.
Học cách trao đổi, làm việc qua email.
Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, MiniWorkshop
Tìm hiểu về ReactJs, ngôn ngữ Javascript Anh Nguyễn Minh Trung
trong phát triển ứng dụng Web, cách thức Anh Đặng Vũ Minh Hiếu
hoạt động của DvaJs, UmiJs, cách sử dụng Anh Đào Vũ Quốc Trung
các component của AntDesign.
Tìm hiểu RESTful API.
Tìm hiểu về Git và các tool liên quan.
Cùng các thực tập sinh lập ra quy ước chung
khi sử dụng Git khi collab với nhau
Phân tích và lên kế hoạch triển khai Pulsely
cùng các thực tập sinh. Chia nhỏ dự án
Pulsely ra thành các Iteration nhỏ và các
backlog nhỏ trong từng Iteration
Thống nhất cách làm việc của squad trong
quá trình deliver Pulsely.
Thiết kế một số bản vẽ design UI cho Client
Web
Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ công việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó
khăn gặp phải
Integrate API với Server để hoàn thành các
chức năng cơ bản đầu tiên của dự án
Cuối Iteration 1, dự án đã có thể sử dụng
trên main flow. Ở client Web đã có thể đăng
nhập bằng tài khoản, tạo Pulse và thêm các
câu hỏi như mainflow đã có kế hoạch
Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại
trong 2 tuần đầu tiên thực hiện dự án, đã làm
ra được sản phẩm như thế nào, và team đã
collab với nhau tốt hay chưa
16
-
-
-
4-5
(Iteration
2)
-
-
-
-
6-7
(Iteration
3)
-
-
Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, MiniWorkshop
Tiếp tục phân tích và lên kế hoạch triển
khai Pulsely cùng các thực tập sinh trong
giai đoạn tiếp theo của dự án
Thiết kế một số bản vẽ design UI cho
Client Web
Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ công việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó
khăn gặp phải
Integrate API với Server để triển khai các
chức năng tiếp theo
Trình bày sản phẩm cùng dự án, các kế
hoạch cho Project Owner
Cuối Iteration 2, dự án đã hoàn thành
mainflow và fix tất cả các bug còn tồn đọng
ở Iteration 1.
Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau
2 tuần đầu tiên thì 2 tuần tiếp theo này đã
thực hiện dự án, đã làm ra được sản phẩm
như thế nào, và team đã collab với nhau tốt
hay chưa, rút thêm kinh nghiệm cùng nhau
Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, MiniWorkshop
Tìm hiểu thêm về các kỹ thuật nâng cao
trong lập trình ứng dụng Web như hiện thực
Animation phức tạp khi trình chiếu Pulse
Live, near-realtime, hiện thực các trang
Summary biễu diễn kết quả của Pulse.
Tiếp tục phân tích và lên kế hoạch triển
khai Pulsely cùng các thực tập sinh trong
giai đoạn tiếp theo của dự án
Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ công việc cho đồng đội, những
17
Chị Uyên Phan
Anh Nguyễn Minh Trung
Anh Đặng Vũ Minh Hiếu
Anh Đào Vũ Quốc Trung
Chị Hoài Thương
Chị Uyên Trần
Chị Uyên Phan
Anh Nguyễn Minh Trung
Anh Đặng Vũ Minh Hiếu
Anh Đào Vũ Quốc Trung
Chị Hoài Thương
Chị Song Vân
-
-
-
-
-
-
8-9
(Iteration
4)
-
-
dự định tiếp theo trong ngày và những khó
khăn gặp phải
Integrate với Server để triển khai các chức
năng tiếp theo
Cuối Iteration 3, dự án đã hoàn thành các
chức năng quan trọng khác theo như kế
hoạch
Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau
4 tuần thì 2 tuần tiếp theo này đã thực hiện
dự án, đã làm ra được sản phẩm như thế
nào, và team đã collab với nhau tốt hay
chưa, rút thêm kinh nghiệm cùng nhau
Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, Mini Workshop
Giai đoạn nước rút của dự án. Tìm kiếm và
sửa các lỗi còn tồn đọng ở các Iteration
trước. Triển khai các kế hoạch improve
product
Tiếp tục phân tích và lên kế hoạch triển khai
Pulsely cùng các thực tập sinh trong giai
đoạn cuối của dự án
Tham gia Daily Scrum mỗi ngày để trình
bày tiến độ công việc cho đồng đội, những
dự định tiếp theo trong ngày và những khó
khăn gặp phải
Integrate với Server để triển khai các chức
năng cuối cùng
Cuối Iteration 4, dự án đã hoàn thành các
chức năng quan trọng khác theo như kế
hoạch
Cùng squad thực hiện Iteration Review và
Iteration Retrospective để cùng nhìn lại sau
6 tuần thì 2 tuần cuối cùng này đã thực hiện
dự án, đã làm ra được sản phẩm như thế nào,
và team đã collab với nhau tốt hay chưa, rút
thêm kinh nghiệm cùng nhau
18
Chị Uyên Phan
Anh Nguyễn Minh Trung
Anh Đặng Vũ Minh Hiếu
Anh Đào Vũ Quốc Trung
Chị Hoài Thương
Chị Uyên Trần
Tham gia các buổi gặp gỡ ngoài giờ cùng
công ty: Tuesday Workshop, Thursday
Workshop, Friday Meetup, MiniWorkshop
Giai đoạn cuối:
- Trình bày sản phẩm cùng dự án cho Project
Owner
- Trình bày sản phẩm cho cả công ty Geek Up
xem trong 10 tuần vừa qua, các thực tập sinh
đã làm được những gì
- Thực hiện các bước cuối cùng để đóng
project. Bàn giao project
- Tạm biệt mọi người. Gửi lời cảm ơn và tri
ân đến toàn thể công ty Geek Up
- Chuẩn bị tài liệu báo cáo thực tập. Củng cố
kiến thức qua đợt thực tập. Rút kinh nghiệm
và tự đánh giá bản thân.
-
10
19
Chị Uyên Phan
Anh Nguyễn Minh Trung
Anh Đặng Vũ Minh Hiếu
Anh Đào Vũ Quốc Trung
Chị Hoài Thương
Chị Uyên Trần