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 BenKon –
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
FRONTEND WEB DEVELOPER
Công ty thực tập: BenKon Người phụ trách: Trần Trung Hiếu
Võ Nam Thực tập sinh: Lê Trung Hiếu
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 Full stack web 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 BenKon – một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn Taddy Trương đã 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 Trần Trung Hiếu, anh Nam Võ, 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 quý anh chị trong công ty đã 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 31 tháng 12 năm 2023
Lê Trung Hiếu
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
LỜI MỞ ĐẦU 1
LỜI CẢM ƠN 2
NHẬN XÉT CỦA KHOA 3
MỤC LỤC 4
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 5
1.1 Giới thiệu Công ty BenKon 5
1.2 Sản phẩm công ty 5
1.3 Lịch làm việc khi thực tập tại công ty 5
CHƯƠNG 2: NỘI DUNG THỰC TẬP 6
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 6
2.2 Nghiên cứu kỹ thuật 6
2.3 Thực hiện dự án cá nhân: QrCode control dashboard 6
2.3.1 Công nghệ 6
2.3.3 Kết quả 6
2.4 Tham gia dự án thực tế 7
CHƯƠNG 3: TỔNG KẾT 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.1 Giới thiệu Công ty BenKon
Hình 1.1 Logo Công Ty BenKon
BenKon là một startup công nghệ thành lập từ 12/2020 đến nay với khoảng 20 nhân viên
Sứ mệnh của BenKon là "Tiết kiệm năng lượng, bảo vệ môi trường" Công ty mong muốn góp phần giải quyết vấn đề biến đổi khí hậu bằng cách giúp các doanh nghiệp tiết kiệm năng lượng
1.2 Sản phẩm công ty
BenKon ứng dụng công nghệ IoT vào quản lý và tối ưu sử dụng máy điều hoà dành cho doanh nghiệp, nơi mà điều hoà chiếm từ 40% đến 80% trong chi phí điện năng Giải pháp Tự Động Hoá đã được chứng minh giúp tiết kiệm trung bình 450 ngàn VNĐ /máy điều hoà/tháng nhờ giảm thiểu các hao phí, hư hỏng không đáng có do việc quản lý thủ công gây ra Sứ mệnh của BenKon là góp phần giảm tiêu thụ điện năng, bảo vệ hành tinh xanh
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 4/10/2023 tới 29/12/2023, các ngày làm việc trong tuần là 2, 3, 4, 6 Công việc hằng ngày bắt đầu từ lúc 9h00 đến 18h00 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 việc tiếp theo Mỗi tuần sẽ họp tiến độ tuần 1 lần vào sáng thứ 4, 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
Trang 7CHƯƠ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, 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, các phòng ban về IT, HR, … Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc, …
Kết quả: hiểu thêm về Công ty BenKon, 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
Vì đã có kiến thức về lập trình web từ trước em đã được bắt tay vào làm luôn các
dự án của công ty
2.3 Thực hiện dự án cá nhân: QrCode control dashboard
Em nhận được yêu cầu từ mentor làm một trang dashboard cơ bản hiển thị các qrcode dẫn đến trang quản lý cái địa điểm sử dụng dịch vụ của công ty BenKon
2.3.1 Công nghệ
Reactjs, Zustand, React-Query, …
2.3.3 Kết quả
Trang dashboard có thể đăng nhập, hiển thị các tổ chức sử dụng dịch vụ và các qrcode khi click vào “View all Qr Code”
Trang 82.4 Tham gia dự án thực tế
Sang tuần thứ 2 em được phân công sang dự án mới hiện thực môt Web tool dùng
để vẽ lại sơ đồ các địa điểm, các thiết bị sử dụng công nghệ của BenKon ở trong địa điểm đó
Sau khi nhận được yêu cầu em đã họp với 2 anh mentor để xác nhận lại các yêu cầu, các công nghệ sử dụng, data structure, …
Hai tuần tiếp theo em đã dành thời gian để tìm hiểu tính khả thi, test các phương án
có thể sử dụng, tìm hiểu các dự án có nội dung gần giống với tool chuẩn bị phát triển để xem xét tái sử dụng các open source đó hay không
Sau đó em đã phát triển tool và một cloud funtion dùng để trả về hình ảnh của của floor plan đã được vẽ bằng tool trước đó
Thuận lợi: Em được hai anh mentor hướng dẫn tận tình, chỉ ra những sai sót, góp ý
về trải nghiệm người dùng tool, tư vấn về các công nghệ nên sử dụng
Khó khăn: vì đây là một dự án với đề tài khá mới đối với em nên em đã mất khá nhiều thời gian để tìm hiểu nghiên cứu, gặp nhiều vấn đề về tổ chức code chưa hợp lý Công nghệ:
• Reactjs
• Flatten.js: thư viện hỗ trợ xử lý các phép toán trên mặt phẳng 2D
• React-svg-pan-zoom: hỗ trợ pan zoom floor plan
Trang 9• Zustand: app state management
• React-query: server state management
• Firebase-hooks: authentication
• Shadcn/ui: ui component
Kết quả:
Trang 10Hoàn thành được tool và cloud function
Tool có các tính năng chính:
• Chọn các địa điểm để vẽ floor plan
• Vẽ phòng, cửa, AC (các thiết bị máy lạnh sử dụng công nghệ của BenKon) với một số tính năng cơ bản của các tool vẽ như undo, redo, drag, rotate, resize, hỗ trợ góc chẵn, …
• Tải và lưu dữ liệu từ server
• Tùy chỉnh các thuộc tính cơ bản của floor plan
• Import ảnh làm background
Cloud function: có thể trả về một file zip chứa tất cả các floor plan của location Hạn chế:
• Chưa thể move và resize room
• Chưa thể mở rộng map một cách tự động (like draw.io)
• Export ảnh bị tràn chữ
Phát triển
• Thêm tính năng move và resize sẽ có thể giải quyết được khá nhiều vấn đề về size của map, (more effort)
Trang 11CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại BenKon đã 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, slack, làm việc nhóm, giao tiếp với cấp trên, … Em đã được tiếp cận với môi trường làm việc chuyên nghiệp, năng động và sáng tạo
Chỉ trong thời gian hạn chế, em đã hoàn thành cơ bản dự án được công ty giao trong quá trình training với các tính năng, yêu cầu đặt ra ban đầu Ứng dụng được các công nghệ mới giúp dễ dàng phát triển và bảo trì
3.1 Điểm mạnh
Luyện được tính tự giác khả năng làm việc độc lập cao Kỷ luật tốt, đúng giờ Tiếp thu được rất nhiều kiến thức
3.2 Điểm yếu
Nhiều khi vẫn chưa hoàn thành đúng tiến độ một số task được giao Kỹ năng giao tiếp chưa được tốt
3.3 Chuẩn đạt được
giá
G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của
doanh nghiệp
9/10
G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ 10/10
Trang 12G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản
phẩm phần mềm tại doanh nghiệp
10/10
G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia
giải quyết vấn đề
9/10
G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng
trình bày
7/10
G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh 8/10
Trang 13TÀI LIỆU THAM KHẢO
1 Flatten.js document https://alexbol99.github.io/flatten-js/index.html
2 MDN document https://developer.mozilla.org/en-US/
3 React-query document https://tanstack.com/query/v3/
4 HomeRoughEditor source code https://github.com/ekymoz/homeRoughEditor