báo cáo thực tập frontend developer intern

23 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực tập frontend developer intern

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Với sự tiện lợi và linh hoạt mà công nghệ web mang lại,Field Service có thể tận dụng những trang web hoặc ứng dụng di động đểtheo dõi, báo cáo và quản lý công việc một cách hiệu quả.Ngàn

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬPFRONTEND DEVELOPER INTERN

Trang 2

TP Hồ Chí Minh, tháng 7 năm 2023

LỜI MỞ ĐẦU

Ngành Công nghệ phần mềm đang nắm giữ một vị thế quan trọng vàkhông thể phủ nhận trong thế giới hiện đại Với vai trò là nền tảng cungcấp các ứng dụng và hệ thống thông tin, ngành này đã và đang chuyểnđổi cách chúng ta sống và làm việc Từ việc quản lý dữ liệu đến giải quyếtcác vấn đề phức tạp, công nghệ phần mềm đã trở thành "trái tim" của nềnkinh tế số, mở ra không gian cho sự đổi mới và sáng tạo.

Trong bối cảnh này, sự phát triển không ngừng của ngành công nghệ webthật sự đáng chú ý Các ứng dụng web ngày càng trở nên linh hoạt vàmạnh mẽ, mang lại trải nghiệm người dùng tốt hơn và kích thích sự tươngtác trực tuyến Sự tích hợp của các công nghệ hiện đại đã mở ra cánh cửacho những trang web động, đồng thời tối ưu hóa hiệu suất và tương thíchtrên nhiều thiết bị.

Ngày nay, trong lĩnh vực Field Service, vai trò của công nghệ không chỉ làmột yếu tố hỗ trợ mà còn là chìa khóa mở ra cơ hội và hiệu suất cao FieldService là một lĩnh vực quan trọng, liên quan đến việc quản lý, bảo dưỡngvà sửa chữa các thiết bị và hệ thống mà không cần chúng ở trong môitrường văn phòng Với sự tiện lợi và linh hoạt mà công nghệ web mang lại,Field Service có thể tận dụng những trang web hoặc ứng dụng di động đểtheo dõi, báo cáo và quản lý công việc một cách hiệu quả.

Ngành phát triển web đã đóng góp quan trọng và đa chiều trong việc bổtrợ lĩnh vực Field Service, mang lại nhiều lợi ích và cải thiện đáng kể hiệusuất của các hoạt động Đầu tiên, công nghệ web giúp nhân viên FieldService có thể truy cập lịch trình và thông tin công việc từ bất kỳ thiết bịdi động nào, họ có thể cập nhật trạng thái công việc, ghi chú và hình ảnhngay tại hiện trường, tối ưu hóa quy trình báo cáo Hơn nữa, các trang webcung cấp thông tin về địa điểm, địa hình và điều kiện môi trường giúpnâng cao độ chính xác của dự án và dịch vụ Sự kết hợp giữa ngành pháttriển web và lĩnh vực Field Service đã tạo ra một môi trường làm việcthông minh và linh hoạt.

Có thể nói, vai trò của một Frontend Developer trong lĩnh vực FieldService là vô cùng quan trọng, đóng góp đáng kể vào trải nghiệm ngườidùng và hiệu suất của các ứng dụng và giao diện mà nhân viên FieldService sử dụng hàng ngày Khả năng tích hợp các công nghệ mới, tối ưuhóa hiệu suất và bảo mật thông tin là những yếu tố chính mà FrontendDeveloper mang lại để đảm bảo rằng hệ thống phục vụ nhân viên FieldService đáp ứng đầy đủ nhu cầu và đồng thời đảm bảo an toàn cho dữ liệuquan trọng.

Trang 3

Do đó để thử thách bản thân trong ngành công nghiệp web, em đã lựachọn vị trí Frontend Developer là định hướng cho việc học cũng như nghềnghiệp trong tương lai Với những kiến thức đã tích lũy được trong suốtquãng đường đại học, em mong muốn có thể áp dụng chúng vào một môitrường thực tế Chính vì lý do đó, em đã quyết định tham gia vào Công tyTNHH Kegmil VN - một môi trường lý tưởng và chuyên nghiệp để thực hiệndự định.

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn đến Công ty TNHH Kegmil VN đã tạo điềukiện để em có cơ hội được thực tập tại công ty Thời gian thực tập tuykhông quá dài nhưng nhờ có sự hỗ trợ, chỉ dẫn nhiệt tình của anh NguyễnTrung Tính, em đã tiếp thu những kiến thức cũng như kinh nghiệm thực tếmà có thể làm hành trang cho quãng đường sự nghiệp sau này

Chân thành cảm ơn các anh chị trong bộ phận Frontend đã bỏ ra nhiềuthời gian, công sức để tận tình hướng dẫn, giúp đỡ em trong khi mới chậpchững bước vào một môi trường doanh nghiệp thực tế, cho em cơ hội đượctiếp cận những công nghệ hay, cải thiện kỹ năng lập trình và tư duy sảnphẩm để có thể thực hiện tốt công việc trong thời gian qua

Bên cạnh đó, không thể không nhắc đến sự hỗ trợ của thầy cô trong khoaCông nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện để em làm báocáo này

TP HCM, ngày 05 tháng 07năm 2023

Trần Đình Khôi

Trang 5

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 công ty TNHH Kegmil VN 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 7

CHƯƠNG 2: NỘI DUNG THỰC TẬP 8

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8

Trang 6

2.2 Nghiên cứu công nghệ, kỹ thuật, các công cụ hỗ trợ 8

2.2.1 Công cụ quản lý công việc 8

2.2.2 Công cụ quản lý source code 9

2.2.3 Các framework, thư viện phát triển web 9

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu công ty TNHH Kegmil VN

Hình 1.1 Logo công ty TNHH Kegmil VN

Kegmil là một công ty SaaS và IoT có trụ sở tại Singapore, chuyên cungcấp cho các OEM và nhà cung cấp dịch vụ bảo trì với công nghệ vượt trộiđể nâng cao hiệu quả hoạt động, độ tin cậy của tài sản, hiệu suất dịch vụ,an toàn, và mang đến lợi nhuận.

Công ty ra đời vào năm 2018 với mục tiêu số hóa các quy trình liên quanđến lưu trữ hồ sơ thực hiện bởi nhân viên hiện trường Đây là một startupchuyên phục vụ cộng đồng nhà đầu tư trong các lĩnh vực như sản xuất,xây dựng, hậu cần và các ngành công nghiệp liên quan.

Kegmil là một doanh nghiệp khởi nghiệp chuyên cung cấp dịch vụ phầnmềm theo mô hình dịch vụ (SaaS), liên tục đưa vào sử dụng những tiến bộcông nghệ và công cụ phân tích dữ liệu mới nhất để phát triển một giảipháp quản lý và vận hành dịch vụ hiện trường Sản phẩm được xây dựngđể tự động hóa một cách thông minh, nó không chỉ tạo điều kiện thuận lợimà còn cải thiện hiệu quả hoạt động, thời gian sử dụng của tài sản, vàhiệu suất công việc cho những người làm việc trong các lĩnh vực không tựđộng hóa như xây dựng, hậu cần, sản xuất, và các ngành nghề khác.Kegmil giúp các công ty tự động hóa và tối ưu hóa các quy trình cũ của họtừ lập kế hoạch và điều phối đến thực hiện và báo cáo.

Ngày 23 tháng 9 năm 2022, Kegmil đã công bố kết thúc vòng đầu tư Series A trị giá 2,2 triệu đô la Singapore dẫn đầu bởi ME Innovation FundL.P (quỹ đầu tư mạo hiểm doanh nghiệp do Tập đoàn Mitsubishi Electricvà Global Brain Corporation thành lập) và Origin Capital, với sự tham giacủa GHV Accelerator và GK-Plug and Play Indonesia.

Pre-1.2 Sản phẩm công ty

Kegmil cung cấp dịch vụ trong lĩnh vực FSM (Field Service ManagementSystem) ví dụ như bảo dưỡng thang máy, máy điều hòa, thiết bị điện tử, …Hệ thống được chia thành 3 phần chính với các nhiệm vụ khác nhau:

 Admin web app: quản lý toàn bộ tenants trong hệ thống, bao gồmthông tin chi tiết của tenant, xem danh sách người dùng của tenant,bật/tắt các tính năng, hình thức thanh toán.

Trang 8

 Tenant web app: trang web làm việc chính của từng tenant Tại đây,người dùng có thể xem các thông tin, số liệu tổng hợp của Client,Job, … Tenant thực hiện quản lý, điều phối công việc thông quatrang quản lý Job, quản lý các team, người dùng khác nhau và thayđổi cài đặt Bên cạnh đó, các tenant có thể xem các bản báo cáo. Client portal web app: trang web làm việc chính của những người

dùng trong mỗi tenant Mỗi người dùng có thể quản lý Requests vàngười dùng hiện tại của tenant.

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 05/07/2023 tới hiện tại,các ngày làm việc trong tuần là từ thứ hai đến thứ sáu Công việc hằngngày bắt đầu từ lúc 09:00 đến 18:00 Thời gian nghỉ trưa khoảng 1 tiếng.Công việc hằng ngày của em là tham gia phát triển các tính năng mới chosản phẩm, sửa các lỗi đã tồn tại hoặc phát sinh, tham gia vào các cuộchọp của nhóm để cùng nhau cải thiện chất lượng công việc và sản phẩm.Trước khi bắt đầu 2 tuần làm việc, em và cả team sẽ cùng nhìn qua cáccông việc còn tồn đọng, công việc cần tiếp tục, ước tính lượng thời giancho mỗi công việc đó Đồng thời, em cũng tham gia vào các buổi planningđể nhận công việc Bắt đầu tuần làm việc, em sẽ cập nhật tất cả các côngviệc mình sẽ thực hiện trong vòng 2 tuần tới vào một bảng chung Đầungày, xen kẽ giữa các ngày làm việc, em sẽ tham gia họp để báo cáo tiếnđộ công việc hiện tại Khi hoàn thành xong một công việc nào đó, em sẽnhờ anh hướng dẫn xem lại, đưa ra nhận xét, góp ý để em cải thiện hơn.Khi kết thúc 2 tuần làm việc, các team sẽ có một buổi họp để nhìn lại đãlàm tốt những gì, có điều gì cần cải thiện và đưa ra hành động để khắcphục trong tương lai.

Trang 9

CHƯƠ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: 3 ngàyNội dung:

- Người phụ trách giới thiệu về công ty, cách tổ chức của công ty,được nghe về lịch sử thành lập và phát triển, quy trình làm việc củacông ty, quy mô và cách thức tổ chức của công ty, tình hình kinhdoanh hiện tại…

- Ngoài ra, thực tập sinh còn được giới thiệu về lĩnh vực mà công tyđang hoạt động, sản phẩm của công ty, văn hóa làm việc trong côngty như thời gian đi làm, các quy định

2.2 Nghiên cứu công nghệ, kỹ thuật, các công cụ hỗ trợ2.2.1 Công cụ quản lý công việc

 Nội dung: làm quen, tìm hiểu về bộ công cụ quản lý công việc baogồm Jira, Confluence

Trong suốt quá trình làm việc tại công ty, em được giới thiệu, hướngdẫn về cách sử dụng bộ công cụ của Atlassian để quản lý dự án Trongbuổi huấn luyện, người hướng dẫn giới thiệu về các mục quan trọngcần sử dụng, một số tính năng chủ yếu để thực tập sinh nghiên cứu.

o Jira: là một ứng dụng quản lý dự án và theo dõi công việc đượcphát triển bởi Atlassian Được ra mắt lần đầu vào năm 2002, Jirađã trở thành một trong những công cụ quản lý dự án phổ biếnnhất và được sử dụng rộng rãi trong cộng đồng phát triển phầnmềm.

Trang 10

Hình 2.1 Logo Jira

o Confluence: là một ứng dụng của Atlassian được thiết kế để hỗtrợ việc làm việc cộng tác và quản lý thông tin trong tổ chức.Confluence được sử dụng rộng rãi trong các doanh nghiệp, tổchức, và nhóm làm việc để chia sẻ kiến thức, tạo tài liệu, và tăngcường sự cộng tác.

Hình 2.2 Logo Confluence

 Kết quả:

o Jira: biết cách sử dụng để theo dõi tiến độ tiến độ và phân loạicông việc, ứng dụng Jira để tối ưu hóa luồng làm việc, tuân theocác quy chuẩn mà công ty đề ra.

o Confluence: biết cách sử dụng Confluence để xem, tạo, chỉnh sửatài liệu và hỗ trợ trong các buổi họp của công ty.

2.2.2 Công cụ quản lý source code

 Nội dung: được hướng dẫn về cách sử dụng và quy trình làm việc vớiGitLab

Toàn bộ source code của công ty được quản lý trên GitLab Ngay từnhững buổi đầu em đã được hướng dẫn về GitLab Người hướng dẫngiới thiệu về các repo hiện tại của công ty, các quy tắc như đặt tênnhánh, cách viết commit message, tạo merge request.

o GitLab là một nền tảng phần mềm quản lý mã nguồn và hệ thốngtích hợp liên tục (CI/CD) được phát triển bởi GitLab Inc Nó cungcấp một loạt các công cụ để quản lý mã nguồn, theo dõi côngviệc, xây dựng và triển khai ứng dụng, tất cả trong một giao diệnđồng nhất GitLab hỗ trợ mô hình DevOps và là một giải pháptoàn diện cho quy trình phát triển phần mềm.

Trang 11

Hình 2.3 Logo GitLab

 Kết quả: biết cách sử dụng GitLab để quản lý mã nguồn, xem thayđổi, tạo merge requests, quản lý nhánh cũng như sử dụng tốt các gitcommands.

2.2.3 Các framework, thư viện phát triển web

 Nội dung: tham gia các buổi huấn luyện về các công nghệ nhưReactJS, Ant Design, Redux, …

Trong quá trình thực tập, em được hướng dẫn về các công nghệ quantrọng đối với một Frontend Developer Đây đều là những công nghệphổ biến giúp tối ưu hóa quá trình phát triển web.

o ReactJS: là một thư viện JavaScript được phát triển bởi Facebook.React được thiết kế để xây dựng các giao diện người dùng (UI)đơn trang và hiệu suất cao Nó đã trở thành một trong những thưviện JavaScript phổ biến nhất và được sử dụng rộng rãi trongcộng đồng phát triển web.

Hình 2.4 Logo ReactJS

o Ant Design: Ant Design là một bộ công cụ giao diện người dùng(UI toolkit) được thiết kế để phục vụ việc xây dựng giao diệnngười dùng hiện đại, thân thiện và dễ bảo trì trong ứng dụng webvà ứng dụng di động.

Trang 12

Hình 2.5 Logo Ant Design

o Redux: là một thư viện quản lý trạng thái (state management)cho ứng dụng JavaScript, thường được sử dụng chủ yếu trong cácứng dụng React, nhưng nó cũng có thể được tích hợp với các thưviện và framework khác

Hình 2.6 Logo Redux

 Kết quả: nắm vững được các công nghệ giúp ích cho em vô cùngnhiều trong quá trình làm việc và ngay cả trong những dự án cánhân.

- Nắm được luồng hoạt động của Redux.

- Ứng dụng được Redux để quản lý ứng dụng một cách hiệuquả.

Trang 13

2.2.4 Dynamic rendering

 Nội dung:

Toàn bộ ứng dụng tại công ty đa số đều xoay quanh các form và list,chính vì vậy team Frontend đã phát triển và tích hợp chúng theo kiểuđộng Cụ thể, phía Backend sẽ lưu trữ các template của form và list ởdạng JSON và trả về cho Frontend, từ đây ứng dụng sẽ dựa vàotemplate đó để tạo ra các giao diện.

Đối với dynamic list, dữ liệu mà Backend trả về là các columns để quy định cách mà các cột sẽ được hiển thị, cũng như thứ tự sắp xếp, filter:

Hình 2.7 Dữ liệu list template trả về từ Backend

Sau đó, ứng dụng sẽ xây dựng các thành phần UI dựa trên dữ liệu này:

Trang 14

Hình 2.8 Giao diện list được xây dựng từ template

Đối với dynamic form, Backend trả về dữ liệu là các sections, trong mỗisection chứa một trường dữ liệu là fields, đây là mảng dùng để quy định cách hiển thị cho từng field.

Hình 2.9 Dữ liệu form template trả về từ Backend

Sau đó, trang web sẽ hiển thị giao diện tương ứng:

Trang 15

Hình 2.10 Giao diện form được xây dựng từ template

 Kết quả:

o Hiểu được cách hoạt động của dynamic rendering.

o Ứng dụng được kỹ thuật để tạo ra các giao diện cho sản phẩm.o Làm quen được các kỹ thuật nâng cao để có thể đưa chúng vào

những dự án cá nhân trong tương lai.

2.2.5 Agile/Scrum

 Nội dung: làm quen với quy trình phát triển phần mềm Agile/Scrum.Agile và Scrum là hai khái niệm phổ biến trong lĩnh vực quản lý dự ánvà phát triển phần mềm Agile không phải là một quy trình cụ thể mà làmột triết lý phát triển dựa trên sự linh hoạt, tương tác và sự phản hồiliên tục Scrum là một framework quản lý dự án thuộc hệ thống Agile,được sử dụng rộng rãi trong phát triển phần mềm.

Trong suốt quá trình làm việc tại công ty, em có cơ hội được làm việctheo một quy trình cụ thể, rõ ràng Trước khi bắt đầu sprint, em vàteam sẽ estimate cho một số các ticket trong Backlog Bên cạnh đó,em tham gia vào các buổi Sprint Planning để nhận task.

Đầu mỗi ngày sẽ có các buổi daily meeting để báo cáo tiến độ côngviệc Và sau khi kết thúc sprint, các team sẽ có buổi SprintRetrospective để cùng nhau nhìn lại một sprint vừa qua.

Trang 16

Hình 2.11 Agile/Scrum trong quản lý dự án phát triển phần mềm

 Kết quả: có thể hiểu được một số quy trình cơ bản trongAgile/Scrum, làm quen với quy trình phát triển phần mềm phổ biếnđể áp dụng vào công việc hiện tại và trong tương lai.

2.3 Tham gia dự án thực tế2.3.1 Giới thiệu dự án

Trong quá trình thực tập tại công ty, em được tham gia vào 2 dự án chính của công ty: Maintenance: dự án tập trung fix các lỗi liên quan đến giao diện, trải nghiệm người

dùng Đây có thể là các lỗi phát sinh trong quá trình phát triển, hoặc những phản hồi của người dùng khi sử dụng sản phẩm.

Một ví dụ về một task trong dự án là nâng cao trải nghiệm thông qua việc triển khai tính năng auto-select Cụ thể, khi một ô select trong form chỉ một option, ứng dụng cần tự động chọn option đó Đây là yêu cầu xuất phát từ người dùng khi họ trải nghiệm sản phẩm của công ty.

Ngày đăng: 15/05/2024, 09:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan