Báo cáo thực tập phát triển hệ thống kho sử dụng golang

15 5 0
Báo cáo thực tập phát triển hệ thống kho sử dụng golang

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠ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 PHÁT TRIỂN HỆ THỐNG KHO SỬ DỤNG GOLANG Công ty thực tập Công ty CP Công nghệ TEKO Việt Nam L[.]

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠ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 PHÁT TRIỂN HỆ THỐNG KHO SỬ DỤNG GOLANG Công ty thực tập: Lớp: Công ty CP Công nghệ TEKO Việt Nam SE501.N11 Thực tập sinh: Vũ Ngọc Thạch - 19520266 TP Hồ Chí Minh, ngày 24 tháng 12 năm 2022 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch LỜI NÓI ĐẦU Ngày nay, với phát triển mạng xã hội nhu cầu cao tự động hoá Các loại giao dịch, mua bán hàng hố dần chuyển sang hình thức online, khách hàng đặt mua trang web thay tới tận cửa hàng để mua hàng Chính nhiều cơng ty, cửa hàng lớn nhỏ mở riêng cho trang web (VD phongvu.com.vn, bachhoaxanh.com,…) sử dụng chung sàn giao dịch (như tiki.com, shoppee.vn,…) Các trang web tận dụng nguồn hàng từ nhiều nơi chi nhánh nhỏ để chuyển hàng qua lại thuận tiện cho việc giao dịch, đưa hàng đến tay khách hàng cách nhanh Kèm theo phát triển mối giao dịch, dịch vụ trực tuyến kèm ngày phát triển Yêu cầu cao chuyên nghiệp, tốc độ để đáp ứng đầy đủ yêu cầu khách hàng Sau ba năm học tập trường, với mong muốn bổ sung, củng cố kiến thức mà học được, em có dự định học tập kỳ Em chọn Công ty TEKO Việt Nam, môi trường tại, chuyên nghiệp làm nơi thực tập thân Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch LỜI CẢM ƠN Em xin chân thành cảm ơn ban giám hiệu quý thầy cô trường Đại học Cơng nghệ Thơng tin TP.HCM nói chung, thầy khoa Cơng nghệ Phần mềm nói riêng tạo điều kiện cho em có hội học tập trải nghiệm Đồng thời, em xin gửi lời cảm ơn đến quý Công Ty cổ phần Công nghệ TEKO Việt Nam tạo điều kiện cho em thực tập công ty, giúp em củng cố kiến thức thân hiểu môi trường làm việc cơng ty Phần mềm Tại em trải nghiệm môi trường đại, kinh nghiệm, tác phong mà người lập trình viên nên biết Em hiểu thêm nhiều thứ kiến thức nghiệp vụ, cách giao tiếp với người Em xin chân thành cảm ơn Do kiến thức nhiều hạn chế lần đầu va chạm với thực tế nên báo cáo cịn nhiều thiếu sót Mong q thầy (cơ) đóng góp ý kiến để giúp em hồn thiện Em xin chân thành cảm ơn Vũ Ngọc Thạch TP Hồ Chí Minh, ngày 24 tháng 12 năm 2022 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch NHẬN XÉT CỦA KHOA Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP Giới thiệu công ty TEKO Sản phẩm công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Quy trình phát triển phần mềm 2.2 Công cụ làm việc 2.3 Kiến thức cần thiết cho lập trình 2.4 Hệ thống kiến trúc phần mềm Tham gia dự án Lịch làm việc CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN 11 Giới thiệu 11 Thực 11 Kế hoạch 11 CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC 13 Kiến thức đạt 13 Điểm yếu thân 13 Cảm nhận công ty 13 DANH MỤC TÀI LIỆU THAM KHẢO 14 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP Giới thiệu công ty TEKO - Tên công ty: Công ty Cổ phần Công nghệ TEKO Việt Nam - Lĩnh vực: Cung cấp tảng đám mây nhằm thúc đẩy lực chuyển đổi số doanh nghiệp phân khúc bán lẻ - Địa chỉ: Tầng 8, Toà nhà Minh Long, 17 Bà Huyện Thanh Quan, Phường 6, Quận 3, TP Hồ Chí Minh - Trang web: https://teko.vn Cơng ty Cổ phần Công nghệ TEKO Việt Nam thành lập vào ngày 13/01/2017, thành viên tập đoàn VNLife Teko cung cấp dịch vụ phần mềm (SaaS) tảng đám mây thúc đẩy doanh nghiệp phân khúc bán lẻ Năm 2019, tập đoàn VNLife Google, Temasek, Bain & Company công nhận kỳ lân công nghệ thứ Việt Nam Công ty có chi nhánh nơi: Hà Nội, Đà Nẵng thành phố Hồ Chí Minh Sản phẩm cơng ty Công ty Teko thiết kế hệ thống ứng dụng hỗ trợ cho việc mua bán lẻ Một sản phẩm lớn công ty sử dụng Omni-Channel - bán hàng đa kênh, cung cấp tính bật quản lý hàng (nhập xuất kho), đặt hàng, giải toán liên quan tới bán lẻ chuỗi công ty Hiện công ty cung cấp dịch vụ hỗ trợ cho số doanh nghiệp nước như: Ví VNPay, Phong Vũ, Maxtrust, Sói biển,… Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch CHƯƠNG 2: NỘI DUNG THỰC TẬP Đợt thực tập kéo dài tháng, nhằm mục đích giúp sinh viên đào tạo toàn diện nghiên cứu nghiệp vụ, kỹ coding giải vấn đề gặp tốn Tại cơng ty, sinh viên có hội học tập kỹ quy trình làm việc, phát triển kỹ mềm, làm việc mơi trường chun nghiệp, đại Tìm hiểu công ty kỹ công ty Thời gian: ngày Nội dung: - Giới thiệu công ty, cách tổ chức công ty: Được nghe người phụ trách giới thiệu chung công ty, môi trường, lối làm việc, nghiên tắc Cung cấp hướng dẫn sử dụng tài khoản nội cơng ty - Tìm hiểu, làm quen với nhóm: Được giới thiệu quy trình làm việc nhóm riêng, giới thiệu vai trị người quy trình làm việc riêng nhóm Kết quả: Hiểu rõ cơng ty, dự án riêng nhóm Biết cách sử dụng tài khoản nội công ty, làm quen với thành viên nhóm Nghiên cứu kỹ thuật 2.1 Quy trình phát triển phần mềm Thời gian: ngày Nội dung: Tìm hiểu quy trình phát triển team, giới thiệu flow làm việc, trao đổi thông tin Kết quả: Hiểu rõ quy trình nhóm sử dụng Agile Scrum, số thông tin như: - Daily Meeting: hàng ngày, buổi sáng nhóm họp với nhau, báo cáo làm hơm qua, làm hơm nay, bên cạnh nêu lên khó khăn gặp phải để tìm giải pháp tối ưu từ thành viên khác - Sprint: sprint tương ứng với thời gian tuần, nhóm định hạng mục tuần mà tất thành viên phải hồn thành (có thể tính bao gồm nhiều task khác nhau), cuối sprint team họp lại phân tích làm thơng tin sprint Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch - Epic: epic kéo dài nhiều sprint, phần công việc liên quan tới nhiều nhóm khác nhau, sau hồn thành EPIC release tính cho khách hàng 2.2 Cơng cụ làm việc Thời gian: ngày Nội dung: Tìm hiểu công cụ mà công ty sử dụng để trao đổi với Kết quả: Hiểu biết cách sử dụng công cụ như: - Gitlab: nơi chứa code cơng ty, biết quy trình Merge code, deploy tính từ mơi trường Dev lên Production - Slack: nơi trao đổi, bàn công việc cơng ty, ghi lại lịch sử trị chuyện phân tích nghiệp vụ, chốt tính - Confluence/Jira: Nơi giao task, xem sprint, tiến độ công việc, chia sẻ kỹ năng, quy trình chung cho tồn công ty - Google Meet: Gặp gỡ họp công ty/ gặp gỡ khách hàng, nơi chia sẻ kiến thức coding hàng tuần cho toàn cơng ty 2.3 Kiến thức cần thiết cho lập trình Thời gian: 30 ngày Nội dung: Tìm hiểu hiểu hết library, code, tools sử dụng lập trình Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch Kết quả: biết quy trình lập trình, làm quen, hiểu rõ ngơn ngữ tool sử dụng: - Golang: ngôn ngữ lập trình sử dụng dự án nhóm - PostgreSQL: sở liệu sử dụng hệ thống, bên cạnh cịn có sở liệu khác MySql, MongoDB,… - Google Protobuf: thay cho HTTP RestAPI, Google Protobuf giúp giảm thời gian decode di chuyển tầng khác service - Git: cách thức lưu trữ code, commit push, review code - Docker: cách build hệ thống máy ảo, chạy nhiều tảng môi trường - số trang web riêng công ty: sử dụng để Monitor hệ thống, logging, truy vấn Database (sử dụng Redash),… 2.4 Hệ thống kiến trúc phần mềm Thời gian: ngày Nội dung: Tìm hiểu hiểu kiến trúc cho hệ thống công ty Kết quả: biết kiến trúc phần mềm công ty: - Microservice: công ty sử dụng microservice để chia nhỏ thành nhiều team, team quản lý services riêng, sử dụng ngơn ngữ lập trình, sở liệu khác Tác dụng: tránh dependency tính năng, có bị sập service service khác chạy bình thường - Monorepo: cách tổ chức code, tồn service code cơng ty nằm chung repo, repo chia nhỏ thành nhiều repo nhỏ hơn, tương ứng với service Tác dụng: giúp thống code style, library service, việc thêm tính năng, nâng cấp version dễ dàng hơn, đồng thời tham khảo code service khác Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch - Kubernetes: tận dụng tốt khả container, giúp service chạy riêng lẻ kết hợp với cách dễ dàng - Kafka/MessageMQ: push consume event service dễ dàng, service lắng nghe kiện thực hành động thân dễ dàng Tham gia dự án Sau training kỹ kỹ cần phải có cơng ty, thực tập sinh tham gia vào dự án nhóm, làm tính bản, từ từ nâng cao kỹ lên Chi tiết dự án chia sẻ phần sau Lịch làm việc Tuần Người hướng dẫn Cơng việc - Tìm hiểu cơng ty, cách tổ chức cơng ty Đồn Minh - Làm quen với công cụ, cách làm Hữu việc cơng ty - Tìm hiểu kiến thức lập trình: Golang, PostgreSQL, Protobuf, Git Đoàn Minh - Thực hành làm project Hữu Todo sử dụng kiến thức - Đọc, hiểu quy trình phát triển công ty 3 - Hiểu flow code nhóm: Đồn Minh approve task => find solution => Hữu coding => testing local => merge code => deploy to web => testing in web => release to customer - Setup máy tính phù hợp với mơi Đồn Minh trường code: cài đặt Ubuntu, Goland, Hữu PgAdmin,… Mức độ hoàn thành Nhận xét người hướng dẫn Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch - Tìm hiểu Kubernetes, VPN, Docker để chạy code máy tính cá nhân - Tìm hiểu kiến trúc phần mềm, sở liệu nhóm - Tham khảo style code Đoàn Minh Hữu - Đọc hiểu số API đơn giản - Tham gia vào quy trình EPIC: design business => design UI => Đoàn Minh design API => coding => testing => Hữu release - Viết Unittest cải thiện coverage cho Đồn Minh dự án nhóm tăng từ 60% lên Hữu 72% - Kiểm tra quy trình quản lý kho Đồn Minh trang web cơng ty: - Hiểu cách Hữu deploy code lên trang web - Tham gia dự án: cải thiện tính Đoàn Minh in phiếu PDF Hữu - Tham gia dự án: implement Kafka Đoàn Minh vào dự án nhóm Hữu 10 - Tham gia dự án: implement tính Đồn Minh kiểm tra giao dịch kho nhóm Hữu 10 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch CHƯƠNG 3: CHI TIẾT VỀ DỰ ÁN Giới thiệu Tên: Warehouse Service Mục tiêu: quản lý giao dịch, kiểm kê kho hàng hoá cho cách doanh nghiệp bán lẻ Giới thiệu: Đối với doanh nghiệp bán lẻ, nhu cầu cần có bên thứ giải vấn đề quản lý kho quản lý nhập xuất cho sản phẩm, tạo báo cáo số lượng tồn, cung cấp số tính thuận lợi cho việc mua hàng dễ dàng Chính nhóm thành lập với mục tiêu cung cấp API nhằm quản lý giao dịch hàng hoá kho cách dễ dàng, đồng thời có khả đồng với service khác tồn cơng ty số tính mà service cung cấp: - Xuất nhập kho: cho phép nhập hàng, xuất hàng, nhận hàng trả lại từ khách hàng, - Luân chuyển hàng kho: di chuyển hàng từ nơi sang nơi khác kho, thực kiểm tra chất lượng sản phẩm, di chuyển hàng tới nơi khác hệ thống chuỗi cửa hàng - In phiếu báo cáo hàng tháng: tạo phiếu báo cáo theo excel, pdf chi tiết xuất nhập kho, thông tin hàng - Theo dõi thông tin tồn kho: cho phép kiểm tra số lượng cách nhanh chóng, hoạt động liên quan tới việc xuất/nhập hàng - Scan mã vạch: Thực quét mã vạch sản phẩm, từ lưu trữ hàng kho dễ dàng Thực Người thực hiện: Vũ Ngọc Thạch Người hướng dẫn: Đoàn Minh Hữu Cùng số thành viên nhóm Warehouse Service Kế hoạch - Các thành viên nhóm chia hướng chính: + Cải thiện, chuyển đổi tính từ Odoo sang Tekone (dự án công ty sử dụng Golang) 11 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch + Thêm số tính cho dự án Tekone Trong khoảng thời gian thực tập, em giao thực số tính năng: - Cải thiện khả in phiếu PDF: xem lại cách tổ chức code, giảm thời gian tạo phiếu thêm số template cho nhiều doanh nghiệp khác - Implement Kafka cho warehouse service: Kết nối Kafka hệ thống warehouse với Kafka môi trường Dev, Production, thực lắng nghe từ service khác - Tham gia vào Epic “Xem trình giao dịch kho”: cho phép người dùng xem lại thao tác thực kho nhập, xuất, điều chỉnh tồn,… Kết quả: - Hoàn thành tốt task giao phía - Hiểu thêm kiến thức Golang, Protobuf, Kafka - Hiểu kiến trúc Database dự án - Hiểu luồng quy trình bên kho - Có thể đọc hiểu tài liệu viết sẵn, từ áp dụng code vào thành cơng - Làm quen với quy trình nhóm, cơng ty 12 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC Kiến thức đạt - Trải nghiệm quy trình phát triển phần mềm Agile Scrum - Trau dồi kiến thức nhiều back-end - Nâng cao kỹ coding, cách giải vấn đề toán đặt - Nâng cao khả đọc hiểu văn Tiếng Anh, khả research - Biết cách làm việc môi trường công ty Điểm yếu thân - Bản thân cần trau dồi nhiều kiến thức chuyên môn, nghiệp vụ - Cần cải thiện khả coding, tốc độ code Cảm nhận cơng ty - Cơ sở vật chất tốt, phịng rộng rãi (tất nhân viên công ty ngồi làm việc văn phịng lớn) - Phúc lợi dành cho nhân viên tốt - Thời gian làm việc thoáng (bắt đầu từ 9h) - Các thành viên nhóm nhiệt tình, tận tâm, hồ đồng với cá nhân em 13 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch DANH MỤC TÀI LIỆU THAM KHẢO Kinh nghiệm thân: Teko Company | Notion https://go.dev/ https://developers.google.com/protocol-buffers https://microservices.io/ https://stackoverflow.com/ https://www.postgresql.org/ https://teko.vn/ https://www.docker.com/ 14 ... tools sử dụng lập trình Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch Kết quả: biết quy trình lập trình, làm quen, hiểu rõ ngôn ngữ tool sử dụng: - Golang: ngơn ngữ lập trình sử dụng dự... sang Tekone (dự án cơng ty sử dụng Golang) 11 Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch + Thêm số tính cho dự án Tekone Trong kho? ??ng thời gian thực tập, em giao thực số tính năng: - Cải... nước như: Ví VNPay, Phong Vũ, Maxtrust, Sói biển,… Phát triển hệ thống Kho sử dụng Golang Vũ Ngọc Thạch CHƯƠNG 2: NỘI DUNG THỰC TẬP Đợt thực tập kéo dài tháng, nhằm mục đích giúp sinh viên đào

Ngày đăng: 01/02/2023, 21:22

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

Tài liệu liên quan