báo cáo thực tập backend engineer

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

Đ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

Trang 1

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

Trang 2

LỜ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ôngnghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trìnhphá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 nhucầ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ẫnchư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ếutố 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ọnBackend web developer là định hướng cho việc học cũng như nghề nghiệp trongtươ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ếnthức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết địnhtham gia vào Công ty TNHH Du lịch Mekong Leisure (VLeisure) – một môi trườnglý tưởng và chuyên nghiệp để thực hiện dự định.

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn anh Huỳnh Tấn Khang (Technical Director) và anh LêDương Khang (Backend Leader) đã tạo điều kiện cho em cơ hội được thực tập tạicông ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của hai anh, em đãtiếp thu những kiến thức quan trọng để có thể tham gia các dự án thực tế

Chân thành cảm ơn các anh chị trong team Vleisure đã bỏ ra nhiều thời gian, côngsức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trườngmớ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ư duysả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ê Đoàn Đại Lợi

Trang 5

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

1.3 Lịch làm việc khi thực tập tại công ty 7

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

3.3 Chuẩn đạt được 21

Trang 7

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

1.1 Giới thiệu về VLeisure

Hình 1.1 Logo Vleisure

Thành lập năm 2011, Công ty TNHH Du lịch Mekong Leisure hay được biết đến làVLeisure, là nền tảng mạng du lịch toàn cầu B2B, trao quyền cho các đại lý quản lý vàphân phối các sản phẩm và dịch vụ du lịch cho các đối tác trực tuyến của họ Vớimạng lưới các nhà cung cấp dịch vụ du lịch toàn cầu của Vleisure, bạn có thể truy cậpcơ sở dữ liệu sản phẩm phong phú.

Website công ty: vleisure.com

Địa chỉ công ty: 544A/16 đường Lạc Long Quân, phường 5, quận 11, thành phố HồChí Minh

Trang 8

1.2 Sản phẩm công ty

● Property Management System Project: Hệ thống quản lý khách sạn.● Point Of Sale Project: Hệ thống quản lý nhà hàng cho khách sạn.● Price Suggestion System: Đề xuất giá bán OTA.

● Booking Integration System: Hệ thống liên kết Booking API

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 1-9-2023 tới 1-12-2023, các ngàylàm việc trong tuần là 2, 4, 6 Công việc hằng ngày bắt đầu từ lúc 9 giờ đến 17 giờ.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, đặtmục tiêu cho ngày làm việc tiếp theo Mỗi ngày sẽ họp tiến độ tuần 1 lần vào 11h đến11h30, 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àihọc, giải pháp và mục tiêu cho tuần tiếp theo với nhau hoàn toàn bằng tiếng Anh.Mỗi cuối sprint cách 2 tuần sẽ tổ chức sprint review, grooming, planning, cho cảteam một lần để tổng kết sprint, lên kế hoạch và phân chia công việc cho sprint mớitheo mô hình Agile.

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: 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áchgiớ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ừ caoxuố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ựctậ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ề Vleisure, 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áchnhiệm hơn.

Trang 10

2.2 Tìm hiểu về công nghệ

Thời gian: 2 tuầnNgôn ngữ lập trình Go:

● Cơ bản: cú pháp, biến, kiểu dữ liệu, luồng xử lý

● Hướng đối tượng trong go: các phương thức, interfaces● Chức năng nâng cao: generics, concurrency

● Kiểm soát chất lượng với Golangci-lintWeb Development:

● Cơ bản về lập trình web

● RESTful API: nguyên tắc thiết kế và thực hiện● JWT: Authentication sử dụng JSON Web TokensWeb Frameworks/Libraries:

● Echo: Framework đơn giản, hiệu suất cao● GORM: ORM để tương tác CSDL

● GRPC: RPC framework

● Go-validator: kiểm soát dữ liệu

● Sql-migrate: công cụ để thực hiện SQL schema migration● Logrus: Structured logging

● Sentry: Theo dõi và giám sát lỗi

● Air: Chạy lại chương trình thời gian thựcDatabases and Caching:

● MySQL: Truy vấn và quản lý cơ sở dữ liệu● Redis: In-memory data caching

DevOps and Testing:

● Docker: Container hoá cho deployment● Git, Gitlab: kiểm soát phiên bản

Unit Testing:

● Mockery: Thư viện mô phỏng để kiểm thử● Testify: Bộ công cụ để kiểm tra và đảm bảo code

Trang 11

2.3 Thực hiện dự án cá nhân

Thời gian: 1 tháng

Vì vấn đề bảo mật và các qui quy định công ty, em xin phép không đề cập kỹ càng đềkỹ thuật của dự án cá nhân bởi dự án cá nhân sử dụng cấu trúc, công nghệ tươngđồng với dự án thực tế của công ty nhằm mục đích làm quen khi bước vào dự ánthực tế.

2.3.1 Công nghệ

Ngôn ngữ lập trình: golangDatabase: Mysql, FirebaseThư viện, framework:

● Echo● Gorm

● Go validator ● Firebase sdk for go● Mockery

● Air● Tesify● …

2.3.2 Mô tả dự án

Đề tài: Phân tích và thiết kế API cho page Trang phim lẻ FPT

Yêu cầu:

● Phân tích, thiết kế ERD

● Liệt kê các API cần thiết cho page● Viết API theo template structure● Viết unit-test cho những API trên

● Authentication/Push notification with Google Firebase

Trang 12

2.3.3 Kết quả

Lược đồ ERD:

Hình 2.3.3.a Lược đồ ERD dự án cá nhân

Liệt kê các API:● GET /genres ● GET /genres/{id} ● GET /movies/top● GET /collections● POST /movies

Trang 13

Một số hình ảnh từ dự án cá nhân:

Hình 2.3.3.b Chạy chương trình với docker, air

Hình 2.3.3.b Chạy unit tests

Trang 14

Hình 2.3.3.c Test get movies api bằng Postman

Trang 15

Hình 2.3.3.e Test api push notification bằng Postman

Hình 2.3.3.f Test update movies api bằng Postman

Trang 16

Hình 2.3.3.g Data mẫu từ MySql

Trang 17

Hình 2.3.3.i Notification mẫu từ Firebase

Trang 18

2.4 Tham gia dự án thực tế

Thời gian: 2 tháng

Dự án chính: POS (Point Of Sale System).

Business của dự án: quản lý nhà hàng bên trong khách sạn.Nhiệm vụ chính: viết các API cho POS mobile.

Một số hình ảnh minh hoạ từ design của POS để thiết kế các API dựa trên các designđó:

Hình2.4.1FigmadesignloginPOSmobile

Trang 19

Hình 2.4.2 Figma design login và sơ đồ bàn của POS mobile

Trang 20

Ngoài ra em còn được giao một số task khác ngoài viết API như viết script gửi thôngbáo Slack khi một project nào đó được deploy hoặc một số event khác:

Hình 2.4.3 Thông báo Slack khi project được deploy

Vì vấn đề bảo mật và các qui quy định công ty, em xin phép không đề cập đến vấn đềkỹ thuật của dự án cũng như các API em đã thực hiện trong thời gian thực tập.

Trang 21

CHƯƠNG 3: TỔNG KẾT

Quãng thời gian thực tập tại VLeisure đã giúp em cải thiện bản thân rất nhiều trongquy 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 quản lý dự án, quản lý ticket, làmviệc nhóm, giao tiếp với cấp trên … và các kỹ năng chuyên môn đồng thời được làmviệc, tiếp xúc với mô hình Agile.

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình trainingvới các tính năng, yêu cầu đặt ra ban đầu

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạtchất lượng tốt.

● Còn nhiều kiến thức, kĩ năng cần phải học hỏi.

● Cần tìm hiểu thêm nhiều kiến thức về các business của công ty.

Trang 22

và sơ đồ hệ thống trong dự án

9/10G3 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

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

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

Tài liệu liên quan