Tải bản đầy đủ (.doc) (13 trang)

Báo cáo thực tập PYTHON và FASTAPI trong lập trình WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (113.87 KB, 13 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

PYTHON VÀ FASTAPI TRONG
LẬP TRÌNH WEB

Cơng ty thực tập: Seedcom
Người phụ trách: Trần Trí Khang
Thực tập sinh: Võ Đinh Ngọc Huyền

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

Trần Trí Khang
Võ Đinh Ngọc Huyền


2

LỜI MỞ ĐẦU

Hiện nay, cùng với sự phát triển mạnh mẽ của internet, thương mại điện tử ngày càng trở
nên phổ biến. Rất nhiều doanh nghiệp bắt đầu chuyển hướng sang quản lý công ty và nghiệp vụ
bằng website. Các ngơn ngữ hỗ trợ cho việc lập trình web cũng nhiều hơn, và Python cũng là
một trong số đó với FastAPI framework.
Dù là một ngôn ngữ mới nhưng Python đang dần trở nên nổi tiếng và được ưa chuộng tại
nhiều nơi trên thế giới. Và với mong muốn được tìm hiểu nhiều hơn về ngôn ngữ này cũng như
ứng dụng của Python trong lập trình web, em quyết định xin thực tập tại bộ phận Core Tech của


Seedcom – một trong những cơng ty của Việt Nam có ứng dụng Python trong quy trình nghiệp
vụ của mình.
Trong bài báo cáo này, em xin được trình bày về chương trình thực tập tại Công ty CP
Seedcom với nhiệm vụ Kỹ sư phần mềm (Python Developer) và các công việc em tham gia làm
việc trong các dự án nội bộ của công ty.

Trần Trí Khang
Võ Đinh Ngọc Huyền


3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn Cơng ty Seedcom đã 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 anh hướng dẫn, em đã
tiếp thu được những kiến thức quan trọng về Python và FastAPI. Em xin chân thành cảm ơn anh
Trần Trí Khang đã bỏ ra nhiều thời gian,cơng sức để hướng dẫn em hồn thành đợt thực tập này.
Đồng thời em cũng cảm ơn anh Lưu Đăng Hải Châu đã giúp đỡ em rất nhiều trong các công
việc liên quan đến DevOps.
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 cho em làm bài báo cáo này.
Võ Đinh Ngọc Huyền
TpHCM, 23/12/2021

Trần Trí Khang
Võ Đinh Ngọc Huyền



4

NHẬN XÉT CỦA KHOA

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Trần Trí Khang
Võ Đinh Ngọc Huyền


5

MỤC LỤC


Contents
MỤC LỤC...................................................................................................................................................5
Contents.......................................................................................................................................................5
Chương 2: Nội dung thực tập..................................................................................................................7
3.Các công việc đã làm trong dự án:.................................................................................................11
4.Kết quả đạt được:...........................................................................................................................11
TÀI LIỆU THAM KHẢO.........................................................................................................................12

Trần Trí Khang
Võ Đinh Ngọc Huyền


6

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu cơng ty Seedcom
Seedcom là nhóm cơng ty đa dạng và gắn kết, hoạt động trong các lĩnh vực công
nghệ, bán lẻ, dịch vụ và sản xuất. Là công ty đầu tiên thực hiện mơ hình New Retail
tại Việt Nam, áp dụng các công nghệ đột phá vào hoạt động kinh doanh để tạo ra
những trải nghiệm tuyệt vời cho khách hàng.

2. Một số sản phẩm công nghệ của công ty
Seedcom bao gồm nhiều công ty con như: The Coffee House, JUNO, King Food…
Các sản phẩm công nghệ của team Core Tech ngồi việc phục vụ cho các cơng ty
con (các app trên di động, các website cho các công ty con) thì cịn có các phần mềm
nội bộ nhằm tối ưu hóa trải nghiệm khách hàng và nghiệp vụ của cơng ty.

Trần Trí Khang

Võ Đinh Ngọc Huyền


7

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Python và FastAPI trong lập trình web” nhằm mục đích giúp
sinh viên thực tập được đào tạo tồn diện về lập trình web bằng Python và FastAPI, đồ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. 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 chun nghiệp.

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, q trình thành lập và phát triên
(như đã nhắc đến ở trê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 .
Ngồi ra, thực tập sinh còn được giới thiệu về 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…
Kết quả : Hiểu thêm về công ty Seedcom, q 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. Nghiên cứu kỹ thuật
2.1.

2.2.

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

Thời gian : 4 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, người hướng dẫn đã 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 quản lý code, quản lý công việc, quản lý các vấn đề gặp phải.
Cài đặt hệ điều hành Linux, cài đặt Docker và tìm hiểu các dựng các server nhanh
chóng bằng Docker. Sử dụng Notion để ghi chú các thông tin và các kiến thức tìm
hiểu được.
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Có khả năng ứng dụng các công cụ trên vào công việc được giao trong thời
gian thực tập
Tìm hiểu ngơn ngữ Python
Thời gian : 10 ngày (4 tuần)
Nội dung : Tìm hiểu các kiến thức cơ bản của Python như các quy tắc đặt tên, các cú
pháp về câu điều kiện, vòng lặp, list, dict… Đồng thời ứng dụng vào các bài tập cơ

Trần Trí Khang
Võ Đinh Ngọc Huyền


8

bản, tạo một chương trình nhỏ kết nối đến database, web server đã tạo từ docker và
thông báo lỗi qua email, Telegram và lập lịch cho chương trình
Thực hiện :
- Tự học theo tài liệu được gợi ý để tham khảo.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả :
-


2.3.

Có kiến thức tồn diện hơn về Python
Có được những kiến thức quan trọng liên quan đến các thư viện hỗ trợ cho việc
lập lịch, gửi mail, tạo chatbox trong Telegram.
Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng
chuẩn, dễ đọc, dễ hiểu.

Lập trình web với FastAPI và các thư viện liên quan
Thời gian : 3 tháng
Nội dung: Các kiến thức về FastAPI để có thể làm ra một website với đầy đủ các
chức năng từ cơ bản đến nâng cao. Các kiến thức về các thư viện liên quan để phục
vụ cho việc kết nối database và tạo truy vấn.
-

FastAPI:
Nắm được khái niệm về FastAPI, cách tạo một endpoint, tạo một chức năng cho
endpoint đó bằng FastAPI. Nắm được các khái niệm liên quan như path
parameter, query parameter, request body, cách sử dụng JWT token và các bước
tạo người dung, xác thực người dung.

-

TortoiseORM:
Nắm được cách tạo kết nối đến database, cách tạo truy vấn, lấy kết quả truy vấn
để trả về các thông tin cần thiết

-

ElasticSearch

Nắm được khái niệm, cách tạo kết nối tới database, cách viết query string,
boosting để lấy các kết quả mong muốn

Thực hiện :

Trần Trí Khang
Võ Đinh Ngọc Huyền


9

-

Tự học các tài liệu liên quan và hỏi người hướng dẫn khi có thắc mắc.
Áp dụng kiến thức vào các bài tập nhỏ và ứng dụng vào dự án

Kết quả :
-

Nắm được cách tạo website với FastAPI.
Nắm được cách tạo truy vấn với ElasticSearch và TortoiseORM

3. Thực hiện project
Sau bốn tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ
bản về Python, FastAPI và các thư viện liên quan. Trong tháng thứ năm, sinh viên áp
dụng kiến thức đã học được để tạo các chức năng trong dự án của công ty.
Chi tiết đồ án sẽ được nói ở phần sau.

4. Lịch làm việc


Tuần

Cơng việc
-

1

2+3
4+5+6+7

Tìm hiểu về
cơng ty, cách tổ
chức của cơng
ty.
- Làm quen với
các công cụ làm
việc trong công
ty.
- Học cách trao
đổi, làm việc qua
email.
- Cài đặt các phần
mềm, thư viện
và công cụ cần
thiết
- Tìm hiểu về
Python
- Thực hành một
số bài tập cơ
bản

- Tìm hiểu thêm

Người hướng
dẫn

Mức
độ
hồn
thành

Nhận xét của
người hướng
dẫn

Anh Trần Trí
Khang

Anh Trần Trí
Khang
Anh Trần Trí
Khang

Trần Trí Khang
Võ Đinh Ngọc Huyền


10

các thư viện lập
lịch, gửi email,

làm một ứng
dụng nhỏ
- Tìm hiểu về
FastAPI,
TortoiseORM,
8+9+10+11+12+13+
ElasticSearch
14+15+16
- Thực hành tạo
một website cơ
bản.
- Tạo chức năng
gợi ý địa chỉ khi
17+18
người dùng nhập
thông tin theo
thời gian thực
- Ứng
dụng
ElasticSearch để
19+20
tìm kiếm khách
hàng theo đầu
vào
- Báo cáo cuối đợt
21
thực tập.

Anh Trần Trí
Khang


Anh Trần Trí
Khang

Anh Trần Trí
Khang

Anh Trần Trí
Khang

Chương 3: Chi tiết về project
1. Giới thiệu về dự án
Dự án dùng để lọc những khách hàng tiềm năng và gửi các chương trình khuyến
mãi đến các khách hàng đó thơng qua các kênh như email, Facebook. Bên cạnh
đó cịn cải thiện hiệu suất của các chức năng hiện có trên các website của công ty
con.

2. Thực hiện
-

Võ Đinh Ngọc Huyền

Với sự giúp đỡ tận tình của các thành viên trong bộ phận Core Tech của cơng ty
Seedcom.

Trần Trí Khang
Võ Đinh Ngọc Huyền


11


3. Các công việc đã làm trong dự án:
-

Áp dụng thuật toán mới của team AI cho chức năng gợi ý địa chỉ khi ngừơi dùng
nhập thông tin vào ô tìm kiếm theo thời gian thực

-

Tạo lại migration cho database

-

Áp dụng ElasticSearch để cải thiện chức năng tìm kiếm người dùng hiện có của
dự án, nâng cao hiệu suất, sự chính xác và tốc độ tìm kiếm.

4. Kết quả đạt được:
-

Đã cải thiện được tốc độ gợi ý và độ chính xác của gợi ý cho chức năng gợi ý địa
chỉ.

-

Chức năng tìm kiếm với ElasticSearch có hiệu suất và độ chính xác cao hơn so
với cách tìm kiếm cũ bằng Postgres.

Trần Trí Khang
Võ Đinh Ngọc Huyền



12

-

TÀI LIỆU THAM KHẢO

Python:
Introduction to Python: An open resource for students and teachers (introtopython.org)
Docker:
Postgres - Official Image | Docker Hub
FastAPI:
FastAPI (tiangolo.com)
TortoiseORM:
Tortoise ORM — Tortoise ORM v0.17.3 Documentation (tortoise-orm.readthedocs.io)
ElasticSearch:
Elastic Stack and Product Documentation | Elastic

Trần Trí Khang
Võ Đinh Ngọc Huyền


13

TỔNG KẾT

Như vậy, sau sáu tháng thực tập tại Seedcom, em đã có được các kiến thức về Python và
FastAPI, đồng thời cũng học thêm được nhiều về các thư viện liên quan khác, đặc biệt là cơng
cụ tìm kiếm ElasticSearch. Đồng thời, em cũng đã áp dụng được các kiến thức trên vào dự án
thực tế của công ty và cải thiện được các kỹ năng mềm. Chân thành cảm ơn các anh chị trong

bộ phận Core Tech của cơng ty, đặc biệt là anh Trần Trí Khang đã giúp đỡ và chỉ dạy em rất
nhiều.

Trần Trí Khang
Võ Đinh Ngọc Huyền



×