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
Trang 1TRƯỜ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
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2LỜ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 chuyên 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
Trang 3LỜ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 hoà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
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
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 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
2 Nghiên cứu kỹ thuật
3 Thực hiện project
4 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
Trang 6Chươ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 yê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
Trang 7Chươ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 toà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 chuyên 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, 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 từ cao xuống thấp, cách thức tổ chức của công ty
Ngoà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, 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
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ì
Trang 8Thự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ả :
- 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
- Ngoà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
2.3 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
Ngoà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
Trang 9
- 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
Trang 10- Url: Tạo liên kết đến API để sử dụng
Trang 11Thự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 Công việc Người hướng dẫn
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1 - 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
Anh Hải
Trang 12công cụ làm việc trong công ty
- Học cách trao đổi, làm việc qua email
2
- 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
Anh Nhựt
3
- Tìm hiểu về Django
- Thực hành một số API cơ bản
Anh Quyến
4 - Tìm hiểu và tự viết
FUT
Anh Quyến
5
Giai đoạn Alpha:
- Lên kế hoạch
Framework
- Tạo Model
Anh Quyến
6
Giai đoạn Alpha(tiếp):
- Viết các lớp quản lý model,
- Hoàn thiện webAPI với chức năng cơ bản
Anh Quyến
7
Giai đoạn Beta:
- Viết các API phức tạp hơn
- Require và Validate cho API
Anh Quyến
8
Giai đoạn Beta và giai đ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
Anh Quyến
Trang 13Chươ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 Hoà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
- Hoà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
https://www.django-rest-framework.org
For Django
Trang 14For Python
https://www.python.org
Trang 15TỔNG KẾT
Như vậy, chỉ trong vòng ba tháng ngắn ngủi, nhóm đã kịp hoà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 toàn bộ anh em trong công ty