1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập backend developer

17 10 0

Đ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

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Backend Developer
Tác giả Võ Vương Thanh Tú
Người hướng dẫn ThS Trần Thị Hồng Yến
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hồ Chí Minh, tháng 12 năm 2022LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp xây dựng sản phẩm số là một phần không thể thiếu của ngành công nghiệp phát triển phần mềm.. Ngành phát triển sản phẩ

Trang 1

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

BACKEND DEVELOPER

Công ty thực tập: Công ty cổ phần công

nghệ GEEK Up Người phụ trách: ThS Trần Thị Hồng Yến

Thực tập sinh: Võ Vương Thanh Tú

Trang 2

TP Hồ Chí Minh, tháng 12 năm 2022

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp xây dựng sản phẩm số là một phần không thể thiếu của ngành công nghiệp phát triển phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành xây dựng sản phẩm số đã và đang là nhân

tố kích thích sự phát triển của công nghệ thông tin thế giới

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ệ Việt Nam cũng góp phần vào sự phát triển của ngành phát triển sản phẩm số với sự tham gia của những công ty như GEEK Up

Ngành phát triển sản phẩm số được sinh ra là do nhu cầu sử dụng phần mềm trong công việc và cuộc sống hằng ngày bằng những thiết bị công nghệ mới nhất Vì lý do này, em quyết định chọn phát triển sản phẩm số làm định hướng cho việc học tập của mình

Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm sản phẩm trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập Vì vậy, em quyết định chọn GEEK Up - một môi trường lý tưởng để phát triển những sản phẩm tuyệt vời - là nơi sẽ giúp em thực hiện được dự định này

2

Trang 3

LỜI CẢM ƠN

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

Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, 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 trang web thương mai điện tử Chân thành cảm ơn các anh chị trong nhóm trainer đã 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

Đặc biệt cảm ơn anh Khoa, đã training Backend, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc; cảm ơn anh Tuấn,

đã training Frontend, hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật của Frontend; cảm ơn anh Hiếu, đã chỉ dẫn chúng em về cách làm báo cáo, lên kế hoạch, những kỹ năng không thể thiếu để có thể làm ra một sản phẩm trong thời gian qua

Em cũng xin cảm ơn Team People của GEEK Up đã luôn quan tâm, lắng nghe và thấu hiểu vấn đề của tụi em

Em cũng xin cảm ơn cô lao công đã hàng ngày mang trái cây lên phòng làm việc cho tụi em, cảm ơn các anh chị nhân viên pha chế đã làm ra những ly nước, những phần bánh tuyệt ngon và những câu quote cực kỳ truyền cảm hứng khiến cho chúng em luôn có động lực để làm việc, không những thế lại còn được free nữa

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 cho em làm bài báo cáo này

TP HCM, ngày 31 tháng 12

năm 2022

Võ Vương Thanh Tú

Trang 4

NHẬN XÉT CỦA KHOA

4

Trang 5

MỤC LỤC LỜI MỞ ĐẦU 2

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 công nghệ Geek Up 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 6

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

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

2.2 Nghiên cứu kỹ thuật 9

2.2.1 Các công cụ làm việc 9

2.3 Tham gia dự án thực tế 9

2.3.1 Công nghệ 9

2.3.2 Mô tả dự án 10

2.3.3 Quá trình thực hiện: 12

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

3.1 Điểm mạnh 14

3.2 Điểm yếu 14

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

TÀI LIỆU THAM KHẢO 15

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 công nghệ Geek Up

Hình 1.1 Logo công ty GEEK UP

GEEK Up được thành lập bởi các kỹ sư lập trình và chuyên viên thiết

kế đam mê phát triển sản phẩm phần mềm Mục tiêu ban đầu của GEEK

Up cực kỳ đơn giản: trở thành môi trường lý tưởng để phát triển các sản phẩm tuyệt vời

Sau hơn 8 năm, với thế mạnh chuyên môn trong tất cả các khía cạnh của phát triển sản phẩm phần mềm, GEEK Up quy tụ hơn 80 tài năng, cùng nhau phát triển và cho ra đời hơn 180 products chất lượng cho các doanh nghiệp khắp nơi trên thế giới

GEEK Up đã và đang trở thành một đối tác uy tín, một lựa chọn đáng tin cậy từ nhiều khách hàng lớn trong và ngoài nước, như TPBank, SSI, Viettel, Heineken, The Coffee House, ELSA, Wall Street English, Le

&Associates, Mobifone, VietCapital Bank, cungmua.com, Action Aid, và khách hàng nước ngoài như SMRT (Singapore), Hitachi (Nhật Bản), NordLevel (Đức), KerryTTC (Thái Lan), Giinger Group (Singapore),

Trong quá trình phát triển sản phẩm, GEEK Up áp dụng những công nghệ hiện đại và thịnh hành nhất hiện nay như: ReactJS, NodeJS, NestJS, Docker, Amazon Web Service,

Với tư duy tạo ra sản phẩm mang lại giá trị cho người dùng và ứng dụng phương pháp Agile chuẩn quốc tế, GEEK Up đã phần nào chứng minh rằng: tài năng Việt Nam hoàn toàn có thể tạo ra những sản phẩm phần mềm đạt tiêu chuẩn toàn cầu!

1.2 Sản phẩm công ty

GEEK Up vun đắp kinh nghiệm sâu rộng để cung cấp giải pháp toàn diện, mang lại trải nghiệm tối ưu cho người dùng và ấn tượng đa dạng mọi ngành nghề từ kinh tế, thực phẩm, đến giao thông, du lịch, nhà hàng, khách sạn, GEEK Up tự hào là đối tác sản phẩm

Trang 8

đáng tin cậy trên hành trình xây dựng các giải pháp số đột phá, thúc đẩy tăng trưởng cho doanh nghiệp

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

Giới thiệu và tìm

hiểu về:

 Phương pháp

Agile & Scrum

 Phân tích và thiết

kế hướng đến

người dùng

(User-centered

Product Analysis

& Product

Design)

 Product Frontend

 Product Backend

Phân tích & thiết

kế hướng đến người dùng (Product Analysis &

Product Design)

Phát triển sản phẩm (Frontend, Backend, Development)

Phát triển sản phẩm (Frontend, Backend, Development)

 Phối hợp với Product Analyst

& Product Designer

 Nhận feedback, reviews & un-block từ Senior members

 Technical &

Soft-skill Workshop

Phát triển sản phẩm (Frontend, Backend, Development)

 Phối hợp với Product Analyst

& Product Designer

 Nhận feedback, reviews & un-block từ Senior members

 Technical & Soft-skill

Workshop

Phát triển sản phẩm

(Frontend, Backend,

Development)

First Product

Demo – trình bày

giải pháp về

product

 Review

Technical output

standards

 Nhận feedback,

reviews &

un-block từ Senior

members

 Technical &

Soft-skill

Workshop

Phát triển sản phẩm (Frontend, Backend, Development)

 Phối hợp với Product Analyst &

Product Designer

 Nhận feedback, reviews &

un-block từ Senior members

 Technical &

Soft-skill Workshop

Phát triển sản phẩm (Frontend, Backend, Development)

 Phối hợp với Product Analyst

& Product Designer

 Nhận feedback, reviews & un-block từ Senior members

 Technical &

Soft-skill Workshop

Phát triển sản phẩm (Frontend, Backend, Development)

Final Product Demo – trình bày thành phẩm giải pháp product

 Nghiệm thu, deploy và vận hành sản phẩm (Deployment, launching & operations)

 Product Sharing Workshop

 Review Contribution & Performance

8

Trang 9

Em tham gia làm việc tại công ty bắt đầu từ ngày 1/11/2022 tới 31/12/2023, các ngày làm việc trong tuần là từ thứ 2 đến thứ 6 Công việc hằng ngày bắt đầu từ lúc 8 giờ 30 đến 17 giờ 30 Thời gian nghỉ trưa khoảng 2 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 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ứ 2, 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 Mỗi tuần sẽ tổ chức Technical & Softskill workshop một lần vào mỗi tối thứ 4 để mọi người trao đổi những chủ đề về kỹ năng làm việc, công nghệ mới nhất Ngoài ra còn có buổi họp mặt mọi người vào chiều thứ 6 hàng tuần để mọi người trong công ty có thể gặp gỡ, chia sẻ với nhau những chuyện trong cuộc sống như nói lời cảm ơn, chúc mừng sinh nhật đồng nghiệp, kể cho nhau nghe những chuyện vui, và còn nhiều điều khác nữa

Trang 10

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

Đợt thực tập với chủ đề “Lập trình trang web thương mại điện tử” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình web app như backend, frontend, design, dev op, tester, đồ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, trao đổi với khách hàng, quản lý dự án, quản lý thởi gian, quản lý cá nhân, 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

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: 4 ngày

Nội dung: Giới thiệu về công ty, cách tổ chức của công ty, giới thiệu về Agile, Scrum, cách làm việc theo phương pháp Scrum

Đượ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 (như đã nhắc đến ở trên), quy trình làm việc, cách thức tổ chức của công ty, 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ách sử dụng email trong công việc… (1 ngày)

Tiếp đến là học về Agile, Scrum, cách làm việc với Scrum (3 ngày) 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

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, và hiểu hơn về Agile mindset và phương pháp Scrum để áp dụng trong công việc

2.2 Nghiên cứu kỹ thuật

2.2.1 Các công cụ làm việc

Thời gian: 1 ngày

Nội dung: Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc

Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu

về các công cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Gitlab - sử dụng trong làm việc nhóm, Docker – phần mềm hỗ trợ việc tách product ra khỏi môi trường giúp cho việc cài đặt config thuận tiện hơn

Kết quả: Nắm được kiến thức cơ bản về các phần mềm, công cụ sẽ được sử dụng trong project

10

Trang 11

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

2.3.1 Công nghệ

Những công nghệ đáng chú ý được sử dụng trong project: NextJS (React franework), Medusa Express, Docker

Trang 12

2.3.2 Mô tả dự án

Hình 2.1: Hình ảnh một bộ sưu tập

Mỗi sản phẩm có thể được thêm vào một bộ sưu tập, mỗi bộ sưu tập sẽ có 1 trang riêng biệt để chứa thông tin và những sản phẩm nằm trong bộ sưu tập đó Admin có toàn quyền tùy chỉnh màu sắc, hình ảnh, video, mô tả, icon, và rất nhiều thứ khác của các bộ sưu tập trên trang web của mình

Mục đích của trang web là để tăng độ nhận diện thương hiệu cho công ty Khi khách hàng vào xem sản phẩm sẽ thấy được cả những sự kiện của công ty gắn liền với sản phẩm, chính điều đó sẽ giúp người dùng nhận ra và nhớ đến thương hiệu của công ty

12

Trang 13

Hình 2.2: Các thành phần của dự án

Dự án gồm 3 phần: Backend server, trang web cho người dùng và trang web cho admin Em phụ trách phần backend server

Em đã giúp team đi đúng hướng theo thiết kế của framework Medusa bằng cách đọc

documentation và phát hiện ra cách framework sử dụng dependency injection, cách

framework đọc dữ liệu từ database và nâng cấp database, cũng như thay đổi kiểu dữ liệu của database thông qua để phù hợp hơn với mục đích sử dụng của team

Nhờ em mà team đã có hiểu biết sâu rộng hơn về cách framework Medusa tạo và quản lý database Ngoài ra, em còn là người thiết kế và tạo ra một số tính năng, cả chính lẫn phụ, của trang web: chức năng quản lý người dùng, chức năng thanh toán, chức năng về địa chỉ Việt Nam để hỗ trợ cho chức năng thanh toán, chức năng quản lý mặt hàng, chức năng quản lý đơn hàng, chức năng về import file cho admin

Về chức năng quản lý người dùng, khi có người vào trang web và đặt hàng sử dụng số điện thoại hoặc email, người đó sẽ được tạo một tài khoản để lưu thông tin liên quan về đơn hàng, địa chỉ, … để hỗ trợ các chức năng khác

Trong chức năng thanh toán, em đã viết các API để storefront (UI trang web/trình duyệt của người dùng) giao tiếp với backend server, ghi nhận thông tin của người dùng, lưu vào

database và trả kết quả thanh toán về cho storefront

Còn về tính năng địa chỉ, em đã thiết kế các API để server có hết tất cả các quận huyện tỉnh thành của Việt Nam, khi người dùng chọn Tỉnh/Thành Phố nào đó, thì trang web sẽ hiện lên các Quận tương ứng, từ đó hiện lên các Phường tương ứng của quận đó Đồng thời ghi nhận địa chỉ đó vào trong danh sách địa chỉ của người dùng đó

Về chức năng quản lý mặt hàng, server có thể quản lý số lượng tồn kho và ngăn người dùng mua nhiều hơn số lượng tồn kho

Trang 14

Về chức năng quản lý đơn hàng, mỗi đơn hàng có 1 ID riêng biệt, người dùng có thể xem đơn hàng của mình bằng email và ID đó, khi người dùng nhập ID đơn hàng đúng thì sẽ có 1 email được gửi đến cho khách hàng chứa kèm 1 đường link có thời hạn truy cập trong vòng 1 giờ

để xem lại đơn hàng đó

Về tính năng import file dành cho admin, admin có thể import 1 file csv gồm danh sách các món đồ muốn bán và server sẽ thay đổi vật phẩm hiển thị trên trang web theo file csv đó

2.3.3 Quá trình thực hiện:

a) Giai đoạn trước Demo lần I:

- Khách hàng có thể tìm kiếm sản phẩm theo tên hoặc theo category, xem thông tin từng sản phẩm, thêm vào giỏ hàng, điền thông tin mua hàng, đặt hàng

- Admin có thể tìm thêm xóa sản phẩm, thêm xóa các loại sản phẩm khác nhau của từng sản phẩm, giá cả của từng loại sản phẩm, chia sản phẩm thành nhiều category, collection, tìm kiếm sản phẩm, tìm kiếm đơn hàng, xem thông tin đơn hàng, xác nhận đang xử lý đơn hàng, xác nhận đã chuẩn bị các sản phẩm của đơn hàng, xác nhận đơn hàng đã được giao cho đơn vị vận chuyển, xác nhận đã nhận được một phần hoặc toàn

bộ số tiền của đơn hàng, xác nhận đơn hàng đã hoàn thành

- Viết documentation

- Deploy server

- Test tìm bugs

- Fix bugs

Kết quả :

- Tất cả các tính năng trên đã được thực hiện, mặc dù còn nhiều bug

b) Giai đoạn trước Demo lần II:

- Khách hàng có thể tìm kiếm sản phẩm theo collection, xem thông tin collection, xem thông tin đơn hàng, tình trạng đơn hàng, tìm kiếm đơn hàng bằng email (có xác thực), gửi mail cho khách hàng khi đơn hàng được tạo, xác nhận, vận chuyển, đã giao

- Admin có thể tùy chỉnh trang collection như màu nền của các vùng khác nhau, hình nền của các vùng khác nhau, hình banner, icon, mô tả, link video youtube

- Viết Documentation

- Test tìm bugs

- Fix bugs

Kết quả : Đã hoàn thành toàn bộ những tính năng trên, số lượng bugs cũng đã giảm xuống rất nhiều, hấu như dùng bình thường sẽ không bị bug, một số bug đã tìm thấy nhưng không ảnh hưởng đến server đã được note lại trong document

14

Trang 15

c) Thuận lợi và khó khăn

Thuận lợi:

- Hầu như mọi người đều hoàn thành công việc đúng kế hoạch

- Mọi người làm việc vui vẻ, hợp tác ăn ý, cùng nhau lên kế hoạch, thực hiện, test, fix bugs rất ăn ý, vì tính chất công việc làm tại công ty, mọi người được ngồi gần nhau khiến việc giao tiếp làm việc nhóm hiệu quả hơn

- Không chỉ trong giờ làm, ngoài giờ làm khi có sự cố gì thì khi liên lạc mọi người vẫn

cố gắng trả lời sớm nhất có thể Cả các anh coach và team intern

Khó khăn:

- Document của framework Medusa Express được sử dụng rất ít và sơ xài, khiến việc hiểu framework tốn một khoản thời gian khá lớn Trước khi hiểu đúng framework thì

đã phải làm cách khác để kịp tiến độ, khi hiểu đúng rồi thì phải sửa lại cho đúng với framework đang sử dụng

- Trong quá trình thực hiện project, đã có một số bạn trong team intern vì nhiều lí do khác nhau đã không thể tiếp tục làm việc, điều đó đã ảnh hưởng một phần đến kế hoạch tổng thể và số lượng công việc mỗi người cần làm

Ngày đăng: 04/09/2023, 20:57

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Hình ảnh một bộ sưu tập - Báo cáo thực tập backend developer
Hình 2.1 Hình ảnh một bộ sưu tập (Trang 12)
Hình 2.2:  Các thành phần của dự án - Báo cáo thực tập backend developer
Hình 2.2 Các thành phần của dự án (Trang 13)

TỪ KHÓA LIÊN QUAN

w