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

Báo cáo thực tập thiết kế API bằng django REST framework

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 (691.58 KB, 15 trang )

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

THIẾT KẾ API BẰNG Django REST framework

Công ty thực tập

: Công ty TNHH SALTO VIET NAM

Người phụ trách

: Lê Thanh Trọng

Thực tập sinh

: Nguyễn Đình Khánh

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

Lê Thanh Trọng
Nguyễn Đình Khánh


LỜI MỞ ĐẦU

Ngày nay, với mỗi cơng ty thì website để quản lý là không thể thiếu. Với số lượng nhân
viên lớn thì quản lý trên giấy tờ là quá khó khăn và lộn xộn.
Cùng với những cơng ty lớn nhỏ khác. Salto Viet Nam cũng không ngoại lệ cần thiết
những website như vậy để dễ dàng quản lý nhân viên.


Những website quản lý như thế này được sinh ra nhằm nhu cầu quản lý của mỗi công ty.
Để quản lý thông tin nhân viên như lương, ngày nghỉ, địa chỉ, … Vì lý do đó nên em được
cơng ty cho vào làm dự án này nhằm học hỏi ngôn ngữ mới và cách hoạt động của công ty.
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 trong một mơi trường chun nghiệp, em có dự định là sẽ thực tập
trong hè. Vì vậy, em quyết định chọn Salto Viet Nam - một môi trường lý tưởng, thoải mái,
chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

Lê Thanh Trọng
Nguyễn Đình Khánh


LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Salto Viet Nam đã 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 số API
cho trang web của công ty. 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 hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Hải, đã 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, đến những khó khăn việc làm quen với môi trường mới; cảm ơn anh Nhựt
đã training Python,anh Quyến hỗ trợ chúng em rất nhiều về các vấn đề trong Django trong quá
trình làm API; cảm ơn anh Huy đã chỉ dẫn chúng em về cách viết FUT, những kỹ năng không
thể thiếu;
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ài báo cáo này.
Khánh
TpHCM, 12 tháng 12 năm 2021


Lê Thanh Trọng
Nguyễn Đình Khánh


NHẬN XÉT CỦA KHOA

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

Lê Thanh Trọng
Nguyễn Đình Khánh


MỤC LỤC


MỤC LỤC...........................................................................................................................
Chương 1: Giới thiệu công ty thực tập............................................................................
1. Giới thiệu về SALTO VIET NAM.............................................................................
2. Sản phẩm của công ty................................................................................................
Chương 2: Nội dung thực tập...........................................................................................
1.
2.
3.
4.

Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty.............................................
Nghiên cứu kỹ thuật..................................................................................................
Thực hiện project......................................................................................................
Lịch làm việc.............................................................................................................

Chương 3: Chi tiết về project...........................................................................................
1. Giới thiệu về Game...................................................................................................
2. Thực hiện..................................................................................................................
3. Kế hoạch...................................................................................................................
TÀI LIỆU THAM KHẢO..................................................................................................
TỔNG KẾT....................................................................................................................14

Lê Thanh Trọng
Nguyễn Đình Khánh


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

1. Giới thiệu công ty SALTO

Gameloft được thành lập năm 2019 tại Việt Nam.
SALTO thành lập với slogan: FLY AWAY,to the future that spreads.
SALTO Việt Nam không để bạn phải mất thời gian thử nghiệm bất kỳ sản phẩm
nào mà bạn chỉ việc sử dụng nó và phát triển doanh nghiệp của mình.
Chúng tơi khơng chỉ làm những gì bạn u cầu, chúng tơi cịn hỗ trợ bạn về ý tưởng
và duy trì hoạt động kinh doanh của bạn.

2. Sản phẩm của công ty
- Automated Scheduling– Kubernetes provides advanced scheduler to launch container
on cluster nodes. It performs resource optimization.
- Self-Healing Capabilities– It provides rescheduling, replacing and restarting the
containers which are died.
- Automated Rollouts and Rollbacks– It supports rollouts and rollbacks for the desired
state of the containerized application.
- Horizontal Scaling and Load Balancing– Kubernetes can scale up and scale down the
application as per the requirements

Lê Thanh Trọng
Nguyễn Đình Khánh


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “DjangoTraining” 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 API bằng django, đồ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 phát triển website 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 SALTO VIET NAM, 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. 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ố trong số đó như Jira Software- sử
dụng để quản lý task và report, Slack – ứng dụng để anh em trong công ty trao đổi,
Docker - là một ứng dụng building, deploying và running ứng dụng dễ dàng hơn
bằng cách sử dụng các containers.
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các cơng cụ
với nhau, so với việc dung các IDE.
2.2. Tìm hiểu ngơn ngữ Python nâng cao
Thời gian : 5 ngày (1 tuần)
Nội dung : Được training về các kỹ thuật Python nâng cao, những kiến thức quan
trọng cho việc tối ưu trên website.
- API, REST API
Các kiến thức cơ bản như API là gì, Restful là gì. Những phương thức PUT POST
GET khác nhau như nào và dùng để làm gì.
Lê Thanh Trọng
Nguyễn Đình Khánh



Thực hiện :
- Tham gia đầy đủ các buổi training của công ty.
- 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.

Nâng cao kỹ năng lập trình với ngơn ngữ Python.
Có được những kiến thức quan trọng cho việc lập trình web sau này.
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.

Tạo API với Django REST framework
Nội dung: Các kiến thức cơ bản về Django REST framework để có thể làm ra một
API đơn giản.
-

Khái niệm cơ bản về Django REST framework.
Django REST framework là một công cụ hỗ trợ đắc lực trong việc xây dựng
WebAPI.
Ngồi ra, trainer cịn cung cấp cho thực tập sinh những khái niệm cơ bản trong
RESTful như bốn yêu cầu API chính là GET, POST, PUT, DELETE.

-

Models: làm việc với database

Lê Thanh Trọng

Nguyễn Đình Khánh


-

Serializer: chuyển queryset hoặc model của django thành dạng dữ liệu dễ dàng
render trên web hơn và ngược lại,Chuyển JSON/XML do client chuyển lên thành
object để Django có để xử lý dễ dàng.

-

View: Truy vấn dữ liệu từ model

Lê Thanh Trọng
Nguyễn Đình Khánh


-

Url: Tạo liên kết đến API để sử dụng

Lê Thanh Trọng
Nguyễn Đình Khánh


Thực hiện :
-

Tham gia đầy đủ các buổi trainning.
Làm các bài tập thực hành nhưtạo DB với model, tạo các phương thức post put

đơn giản, …
Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.

Kết quả :
-

Hiểu được những khái niệm cơ bản trong WebAPI.
Đã tạo được cái API cơ bản.

3. Thực hiện project
Sau một 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, Django REST Framwork. Trong tháng thứ hai, trainer đã hướng dẫn
thực tập sinh áp dụng những kiến thức đã học để thực hiện một project Web API cho
cơng ty.
Chi tiết đồ án sẽ được nói ở phần sau.
4. Lịch làm việc

Tuần
1

Cơng việc
-

Người hướng dẫn

Mức
độ
hồn
thành


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

Tìm hiểu về cơng ty, Anh Hải
cách tổ chức của
cơng ty.
Làm quen với các

Lê Thanh Trọng
Nguyễn Đình Khánh


2

3
4

5

6

7

8

công cụ làm việc
trong công ty.
- Học cách trao đổi,
làm việc qua email.
- Tìm hiểu ngơn ngữ

lập trình python
nâng cao
- Thực hành python
- Làm bài test python
- Tìm
hiểu
về
Django
- Thực hành một số
API cơ bản
- Tìm hiểu và tự viết
FUT
Giai đoạn Alpha:
- Lên kế hoạch
- Tìm
hiểu
Framework
- Tạo Model

Anh Nhựt

Anh Quyến

Anh Quyến
Anh Quyến

Giai đoạn Alpha(tiếp):
Anh Quyến
- Viết các lớp quản lý
model,

- Hoàn thiện webAPI
với chức năng cơ
bản.
Giai đoạn Beta:
Anh Quyến
- Viết các API phức
tạp hơn
- Require và Validate
cho API
Giai đoạn Beta và giai Anh Quyến
đoạn kết thúc, báo cáo :
- Hoàn thiện một số
API để áp dụng
- Fix bug.
- Báo cáo cuối đợt
thực tập.

Lê Thanh Trọng
Nguyễn Đình Khánh


Chương 3: Chi tiết về project

1. Giới thiệu về webAPI
Api dùng để quản lý thông tin nhân viên trong công ty như lương ngày nghỉ, thông tin
cá nhân…

2. Thực hiện
3 thành viên của team internship:
-


Nguyễn Hồng Sơn
Cao Văn Nam
Nguyễn Đình Khánh

Và sự giúp đỡ tận tình của anh Quyến.

3. Kế hoạch
-

Hoàn thành khởi tạo các model
Tạo API và validate cho các API đó
Viết testcase cho các API
Thực hiện test trên post man nếu sai thì fix và cập nhật
Hồn thiện các API.

Kết quả :
-

Hầu hết các API đã hoàn thành và đã được sử dụng

TÀI LIỆU THAM KHẢO

For DjangoREST

For Django

Lê Thanh Trọng
Nguyễn Đình Khánh




For Python


Lê Thanh Trọng
Nguyễn Đình Khánh


TỔNG KẾT

Như vậy, chỉ trong vòng ba tháng ngắn ngủi, nhóm đã kịp hồn thành các web API và đã
được đưa vào sử dụng cho công ty
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer ,và sự hỗ trợ nhiệt tình của
tồn bộ anh em trong cơng ty.

Lê Thanh Trọng
Nguyễn Đình Khánh



×