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

Báo cáo thực tập lập trình backend với meteor

25 8 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 lập trình backend với meteor
Tác giả Lê Thành Luân, Võ Hoàng Đức Khoa
Người hướng dẫn Đỗ Công Bá
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 25
Dung lượng 1,74 MB

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

Nội dung

Nội dung thực tậpĐợt thực tập với chủ đề “Đào tạo kỹ sư back-end toàn diện” kéo dài từ 1/4 đến30/6 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 back-end, đồn

Trang 1

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP LẬP TRÌNH BACKEND VỚI METEOR

Công ty thực tập : Công ty TNHH Giải pháp Phần mềm TISOHA Người phụ trách : Đỗ Công Bá

Thực tập sinh : Lê Thành Luân

TP Hồ Chí Minh, tháng 06 năm 2023

Trang 2

tỷ trang web, nhưng nhu cầu tạo ra những trang web mới vẫn chư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ìnhthứ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ếu tố trên luôn làmbấ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ântrong ngành công nghiệp web, em đã lựa chọn thực tập với vị trí Kỹ sư phần mềm là địnhhướng cho việc học tập và nghiên cứu sâu hơn trong quy trình sản xuất web

Bên cạnh thời gian 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 việc trong một môi trường chuyên nghiệp, em có dự định là

sẽ thực tập trong kì này Vì vậy, em quyết định chọn Công ty TNHH Giải pháp Phần mềmTISOHA là nơi sẽ giúp em thực hiện được dự định này

Trang 3

Đặc biệt cảm ơn anh Võ Hoàng Đức Khoa đã training về JavaScript cũng như hướngdẫn, hỗ trợ em rất nhiều từ các vấn đề kỹ thuật đến những khó khăn trong công việc Cảm ơnanh Trương Gia Thạch và anh Dương Hoài Nam, đã giúp đỡ cho em tận tình những khó khănviệc làm quen với môi trường mới Cảm ơn anh Đỗ Công Bá đã tạo văn hóa công ty lành mạnh,chuyên nghiệp, đầy năng động giúp em hoàn thành thực tập và có thêm niềm đam mê, nhiệthuyết với lập trình Web.

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

Lê Thành LuânTpHCM, ngày 30 tháng 06 năm 2023

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

MỤC LỤC 4

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

1 GIỚI THIỆU CÔNG TY TNHH GIẢI PHÁP PHẦN MỀM TISOHA 6

2 SẢN PHẨM CỦA CÔNG TY 6

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

1 TÌM HIỂU CÔNG TY VÀ CÁC KỸ NĂNG CƠ BẢN TRONG CÔNG TY 8

2 NGHIÊN CỨU KỸ THUẬT 8

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

2.2 Tìm hiểu ngôn ngữ JavaScript 9

2.3 Nghiên cứu tài liệu và những kỹ thuật về cơ sở dữ liệu MongoDB 10

2.4 Nghiên cứu tài liệu và những kỹ thuật về framework Meteor 12

2.5 Thực hành xây dựng ứng dụng Iyyara 14

3 THỰC HIỆN PROJECT 15

4 LỊCH LÀM VIỆC 15

CHƯƠNG 3 CHI TIẾT VỀ PROJECT 19

1 GIỚI THIỆU VỀ PROJECT 19

2 CÁC CÔNG VIỆC ĐÃ LÀM 19

2.1 Cài đặt, chạy thử dự án 19

2.2 Chức năng quản lý các gói đăng ký sử dụng ứng dụng 19

2.3 Chức năng quản lý và nhận các phần thưởng 20

2.4 Chức năng quản lý các phân khúc người dùng 20

2.5 Chức năng quản lý và sử dụng các mã giảm giá 21

2.6 Chức năng đăng ký/hủy đăng ký gói và quản lý các đăng ký 21

Trang 6

2.8 Chức năng thanh toán khi đăng ký gói 22

2.9 Một số công việc khác 22

3 KẾT QUẢ 22

TÀI LIỆU THAM KHẢO 23

TỔNG KẾT 24

Trang 7

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

1 Giới thiệu Công ty TNHH Giải pháp Phần mềm TISOHA

Công ty TNHH Giải pháp phần mềm TISOHA là một doanh nghiệp được thànhlập vào 10/2020 đến nay đã hoạt động được gần 3 năm Trong thời gian hoạt động,công ty đã nhận cung cấp dịch vụ cho nhiều khách hàng tại Mỹ, Malta, Úc vàSingapore nơi tập trung phát triển ứng dụng trên nền web và lập trình ứng dụng chođiện thoại thông minh

TISOHA đem lại cho khách hàng những dịch vụ lập trình, gia công phần mềm uytín chất lượng với độ an toàn cao, khả năng mở rộng và tiết kiệm chi phí cho kháchhàng

2 Sản phẩm của công ty

Sản phẩm của công ty chủ yếu là các dự án outsource về giáo dục, giải trí, thươngmại

Trang 8

Công ty luôn mang đến cho khách hàng dịch vụ phát triển, gia công phần mềmhoàn hảo từ hỗ trợ, tư vấn, bảo trì đến phát triển các ứng dụng, phần mềm một cáchtoàn diện Các sản phẩm và giải pháp do công ty triển khai được đảm bảo mức độ antoàn cao, có khả năng mở rộng, mang lại sự hài lòng về chất lượng và thỏa mãn vềchi phí.

Trang 9

Chương 2 Nội dung thực tập

Đợt thực tập với chủ đề “Đào tạo kỹ sư back-end toàn diện” kéo dài từ 1/4 đến30/6 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 back-end, đồ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ôitrường phát triển web 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: 2 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ủacô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 tynhư 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,cách ước tính thời gian hoàn thành công việc, sử dụng các phần mềm chuyên nghiệp chocông việc,…

Kết quả: Hiểu thêm về công ty TISOHA, 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, các phần mềm 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, người phụ trách đã hướng dẫn thực tập sinh tìm hiểu về cáccô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ư

Trang 10

Slack – Phần mềm chat, report công việc hàng ngày của công ty, Jira – Ứng dụngtheo dõi và quản lý quy trình phát triển phần mềm, Redmine – Công cụ quản lý vàtheo dõi, kiểm soát các vấn đề của dự án, Visual Studio Code – Trình chỉnh sửa mãnguồn, Git – Hệ thống quản lý các phiên bản mã nguồn phân tán, Gitlab – Phần mềmquản lý kho mã nguồn Git,…

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àm quen và sử dụng được những phần mềm đã nêu trên.

2.2 Tìm hiểu ngôn ngữ JavaScript

Thời gian: 4 ngày.

Nội dung: Tham gia khóa đào tạo “Cấp tốc JavaScript trong 4 ngày”:

JavaScript là một ngôn ngữ lập trình phổ biến được sử dụng rộng rãi trong phát triểnweb Ban đầu, nó được tạo ra để thực hiện các tác vụ phía máy khách trên trình duyệtweb, nhưng hiện nay nó cũng được sử dụng cho việc phát triển ứng dụng di động và phíamáy chủ Để nắm được các kiến thức cơ bản của JavaScript, em đã tham gia khóa học

“Cấp tốc JavaScript trong 4 ngày” của công ty dưới sự hướng dẫn của anh Võ HoàngĐức Khoa với lộ trình như sau:

- Ngày 1:

 Học cú pháp cơ bản của JavaScript, bao gồm biến, kiểu dữ liệu, toán tử và cấutrúc các câu lệnh điều kiện và vòng lặp

 Tìm hiểu về hàm và cách khai báo, gọi và truyền tham số cho hàm

 Thực hành với các bài tập về cú pháp và hàm để làm quen với việc viết mãJavaScript đơn giản

Trang 11

 Thực hành với các bài tập liên quan đến mảng và đối tượng để nắm vững các kháiniệm này.

- Ngày 3:

 Học về sự kiện và xử lý sự kiện trong JavaScript, bao gồm việc tạo các hàm xử lý

sự kiện và gán chúng cho các phần tử HTML

 Tìm hiểu về DOM (Document Object Model) và cách truy cập, thay đổi nội dung

và thuộc tính của các phần tử HTML bằng JavaScript

 Thực hành với các bài tập liên quan đến xử lý sự kiện và DOM để hiểu rõ hơn vềtương tác với trang web

- Ngày 4:

 Học về AJAX và cách sử dụng Fetch API để gửi và nhận dữ liệu từ máy chủ

 Tìm hiểu về JSON (JavaScript Object Notation) và cách làm việc với dữ liệuJSON trong JavaScript

 Thực hành với các bài tập liên quan đến AJAX và JSON để làm quen với việctương tác với dịch vụ web

Thực hiện:

- Tham gia đầy đủ các buổi training của công ty

- Nghiên cứu, kết hợp thực hành tài liệu mà công ty cung cấp

Kết quả:

- Nắm được kiến thức JavaScript cơ bản

- Có thể tạo một ứng dụng TodoApp đơn giản bằng JavaScript

2.3 Nghiên cứu tài liệu và những kỹ thuật về cơ sở dữ liệu MongoDB

Thời gian: 5 ngày (1 tuần).

Nội dung: Tham gia khóa đào tạo của công ty về các kiến thức về MongoDB:

Trang 12

MongoDB là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL) mã nguồn mở và linhhoạt Nó được thiết kế để lưu trữ và xử lý dữ liệu phi cấu trúc, cho phép lưu trữ dữ liệudưới dạng tài liệu kiểu JSON được gọi là BSON (Binary JSON).

Để nắm vững các kiến thức cơ bản về framework này, em đã tham gia một khóa học

“Làm chủ MongoDB trong 10 ngày” với sự hỗ trợ hướng dẫn đến từ anh Võ Hoàng ĐứcKhoa với lộ trình như sau:

- Ngày 1: Giới thiệu về MongoDB

 Tìm hiểu về cấu trúc và tính năng của MongoDB

 Cài đặt MongoDB trên máy tính và tạo cơ sở dữ liệu đầu tiên

- Ngày 2: Câu truy vấn và tìm kiếm dữ liệu

 Học cách thực hiện các câu truy vấn cơ bản trong MongoDB

 Tìm hiểu cách tìm kiếm và lọc dữ liệu theo các tiêu chí khác nhau

- Ngày 3: Quản lý dữ liệu

 Nắm vững cách thêm, sửa và xóa dữ liệu trong MongoDB

 Tìm hiểu về các toán tử cập nhật dữ liệu và đảm bảo tính nhất quán của dữ liệu

- Ngày 4: Cấu trúc dữ liệu phức tạp

 Học cách làm việc với các cấu trúc dữ liệu phức tạp như mảng và nhúng

 Tìm hiểu về các chỉ mục và tối ưu hóa truy vấn dữ liệu

- Ngày 5: Tích hợp và triển khai

 Tìm hiểu cách kết hợp MongoDB với ứng dụng web

Trang 13

 Thực hiện quá trình triển khai MongoDB lên môi trường production.

Thực hiện:

- Tham gia đầy đủ các buổi trainning

- Làm các bài tập thực hành từ hướng dẫn của tài liệu

- 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 về MongoDB

- Tạo được cơ sở dữ liệu cho TodoApp bằng MongoDB

2.4 Nghiên cứu tài liệu và những kỹ thuật về Meteor

Thời gian: 10 ngày (2 tuần).

Nội dung: Tham gia khóa đào tạo của công ty về sử dụng framework Meteor trong lập

trình giao diện ứng dụng web:

Meteor là một framework JavaScript hỗ trợ lập trình ứng dụng web ở cả phía client vàserver, vốn được biết đến nhiều bởi sự đơn giản và dễ sử dụng Với sự kết hợp giữaNodeJS, MongoDB và các front-end framework như Blaze hay React, Meteor cho phépcác nhà phát triển xây dựng những ứng dụng web thời gian thực Meteor còn cho phép tựđộng cập nhật giao diện tương ứng với dữ liệu ở phía server thông qua sự đồng bộ hóa

dữ liệu giữa server và client Các đặc điểm nổi bật của Meteor bao gồm đồng bộ hóa dữliệu, bộ nhớ cơ sở dữ liệu ở phía client, và một trình CLI mạnh mẽ Cộng đồng củaMeteor cũng khá đông và nhiệt tình giúp đỡ lẫn nhau

Để nắm vững các kiến thức cơ bản về framework này, em đã tham gia một khóa học

“Làm chủ framework Meteor trong 10 ngày” với sự hỗ trợ hướng dẫn đến từ anh VõHoàng Đức Khoa với lộ trình như sau:

Trang 14

- Ngày 1: Giới thiệu về Meteor

 Tìm hiểu về cấu trúc và tính năng của Meteor

 Cài đặt môi trường phát triển ứng dụng với Meteor

- Ngày 2: Xây dựng ứng dụng Meteor cơ bản

 Tìm hiểu về Blaze, framework xây dựng giao diện mặc định của Meteor

 Tạo một ứng dụng đơn giản sử dụng Blaze và Meteor

 Tìm hiểu về cấu trúc và tổ chức file trong Meteor

- Ngày 3: Làm việc với Collections

 Nghiên cứu về hệ thống collections của Meteor và các phương thức CRUD

 Thực hiện các chức năng tạo, đọc, cập nhật và xóa dữ liệu

- Ngày 4: Tạo ứng dụng TodoApp với Meteor và React

 Học cách tích hợp React vào dự án Meteor

- Ngày 5 và 6: Cập nhật dữ liệu thời gian thực

 Hiểu về khái niệm publications và subscriptions trong Meteor

 Thực hiện cập nhật dữ liệu thời gian thực trong ứng dụng Meteor sử dụng React

- Ngày 7: Routing và điều hướng

 Tạo các route trong ứng dụng Meteor bằng React Router

 Xây dựng các liên kết và điều hướng giữa các trang

Trang 15

- Tìm hiểu về cách quản lý trạng thái giao diện ứng dụng web với Redux.

 Tích hợp Redux vào TodoApp

- Ngày 10: Tối ưu hóa và triển khai

 Tìm hiểu về cách tối ưu hiệu suất trong Meteor

 Thực hiện quá trình triển khai ứng dụng Meteor lên môi trường production

]Thực hiện:

- Tham gia đầy đủ các buổi training

- Làm các bài tập thực hành từ hướng dẫn của tài liệu

- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm

Kết quả:

- Nắm được các kiến thức cơ bản về Meteor

- Nắm được các kiến thức về lập trình ứng dụng web toàn diện bằng Meteor vàReactJS

- Tạo được ứng dụng TodoApp bằng Meteor và ReactJS

2.5 Thực hành xây dựng máy chủ API cho dự án Iyyara

Thời gian: 2 tháng.

Nội dung: Thực hành các kiến thức đã học và tìm hiểu được để xây dụng một máy chủ

API theo yêu cầu của người hướng dẫn

Kết quả: Xây dựng được một máy chủ API đáp ứng được những yêu cầu đặt ra.

Trang 16

3 Thực hiện project

Sau một tháng được đào tạo và thực hành, thực tập sinh đã nắm được những kiếnthực cơ bản về API, JavaScript, Meteor, MongoDB Trong tháng thứ hai, người hướngdẫn đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để tham gia thực chiến

dự án mới của công ty

Chi tiết thực hiện dự á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ủacông ty

- Làm quen với cáccông cụ làm việctrong công ty

- Học cách trao đổi,làm việc qua email,Slack, Jira

- Tìm hiểu về ngônngữ lập trìnhJavaScript

- Làm ứng dụng

JavaScript

Anh Võ HoàngĐức Khoa

3 - Tìm hiểu về Anh Võ Hoàng

Trang 17

- Tìm hiểu thêm vềframework Meteor

- Cài đặt hệ thốngAPI cho TodoApp

sử dụng frameworkMeteor và cơ sở dữliệu MongoDB

Anh Võ HoàngĐức Khoa

5

Iyyara spring 1:

- Đọc tài liệu, đọc mãnguồn dự án

- Tham gia các buổihọp với khách hàng

Anh Võ HoàngĐức Khoa

6

Iyyara spring 1(tiếp):

- Tạo schema và cácAPI của taskRewards

Management

- Viết unit tests

- Sửa các lỗi logic

Anh Võ HoàngĐức Khoa

segmentationsManagement

Anh Võ HoàngĐức Khoa

Trang 18

- Viết unit tests.

8

Iyyara spring 2 (tiếp):

- Tạo schema và cácAPI của taskCoupons

Management

- Viết unit tests

- Sửa các lỗi logic

Anh Võ HoàngĐức Khoa

Management

- Viết unit tests

Anh Võ HoàngĐức Khoa

10

Iyyara spring 3 (tiếp):

- Tìm hiểu về kháiniệm cronjob vàviết các cronjobscho task Entitiesauto expiration

- Sửa các lỗi logic

Anh Võ HoàngĐức Khoa

Anh Võ HoàngĐức Khoa

12 Iyyara spring 4 (tiếp):

- Dùng webhookscủa Stripe bắt sựkiện thanh toán

Anh Võ HoàngĐức Khoa

Trang 19

thành công.

- Sửa các lỗi logic

- Viết báo cáo thựctập

Trang 20

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

1 Giới thiệu về project

Iyyara là một nền tảng tìm kiếm và xếp hạng các nhà hàng dành cho người Hồi giáo ởSingapore Ứng dụng hoạt động như một trang tìm kiếm, đánh giá và cung cấp các ưu đãicũng như quà tặng cho người dùng khi đến các nhà hàng được ứng dụng khuyến nghị.Iyyara bao gồm cả nền tảng ứng dụng di động (Android/iOS) và web

2 Các công việc đã làm

2.6 Cài đặt, chạy thử dự án

Nội dung: Clone source code và chạy thử dự án.

Thực hiện:

- Cài đặt Docker, Git và đăng nhập Gitlab

- Đọc tài liệu về dự án và tài liệu hướng dẫn

- Cài đặt pre-commit

2.7 Chức năng quản lý các gói đăng ký sử dụng ứng dụng

Nội dung: Viết các API quản lý các gói đăng ký sử dụng ứng dụng, đặc biệt là về gói

đăng ký 1 kèm 1

Thực hiện:

- Đọc tài liệu yêu cầu của task

- Thảo luận với nhóm đảm nhận mảng front-end

Trang 21

- Viết các API phục vụ cho việc quản lý gói đăng ký.

- Viết các unit test

- Test các API với bên front-end

2.8 Chức năng quản lý và nhận các phần thưởng

Nội dung: Viết các API quản lý và nhận các phần thưởng khi người dùng sử dụng ứng

dụng

Thực hiện:

- Đọc tài liệu yêu cầu của task

- Thảo luận với nhóm đảm nhận mảng front-end

- Viết các API phục vụ cho việc quản lý và nhận phần thưởng

- Viết các unit test

- Test các API với bên front-end

2.9 Chức năng quản lý các phân khúc người dùng

Nội dung: Viết các API quản lý các phân khúc người dùng.

Thực hiện:

- Đọc tài liệu yêu cầu của task

- Thảo luận với nhóm đảm nhận mảng front-end

- Viết các API phục vụ cho việc quản lý các phân khúc người dùng

- Viết các unit test

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

w