- Phạm vị nghiên cứu : Thu thập yêu cầu của khách hàng từ tập đoàn CREDIT: phát triển website dành riêng cho FE-CREDIT với chức năng quản lýtuyển dụng , cập nhập tin tức kết hợp với giao
GIỚI THIỆU VỀ DỰ ÁN
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Tìm hiểu quy trình phát triển phần mềm Scrum , thiết kế UI bằng figma , lập trình giao diện website bằng ReactJs , lập trình restfull API bằng NestJS.
- Phạm vị nghiên cứu : Thu thập yêu cầu của khách hàng từ tập đoàn FE-CREDIT: phát triển website dành riêng cho FE-CREDIT với chức năng quản lý tuyển dụng , cập nhập tin tức kết hợp với giao diện hợp thời đại vá đáp ứng chuẩn SEO.
Phương pháp nghiên cứu
- Phương pháp thu nhập thông tin: Tiến hành thu thập thông tin , tài liệu có liên quan đến nhu cầu của khách hàng.
-Phương pháp so sánh: Tìm hiều các trang web có cùng nhu cầu và chức năng , từ đó so sánh và suy ra những ưu điểm và hạn chế của dự án mình
-Phương pháp điều tra thực tiễn: Đứng ở vị trí người dùng để đưa ra góp ý và giải pháp cho lập trình viên.
1.4 Kết cấu của báo cáo thực tập
Nội dung báo cáo gồm các phần sau:
Chương 1: Mở đầu – Trình bày lý do chọn đề tài, đối tượng, phạm vi nghiên cứu và thời gian thực hiện đề tài nghiên cứu
Chương 2: Tìm hiểu tổng quát về công ty IT-GLOBAL – Công ty TNHH Giải Pháp Công Nghệ – Giới thiệu quá trình hình thành, nhiệm vụ, chức năng và cơ cấu tổ chức nhân sự của công ty
Chương 3: Thực trạng về chủ đề nghiên cứu
Chương 4: Kết quả thực tập
Chương 5: Kết luận và đề xuất.
TÌM HIỂU TỔNG QUÁT VỀ Công TY TNHH GIẢI PHÁP CÔNG NGHỆ–IT-GLOBAL
Giới thiệu quá trình hình thành và phát triển đơn vị
Hình 2.1 Logo công ty TNHH và giải pháp toàn cầu IT-Global
Công ty TNHH và giải pháp toàn cầu IT-Global thành lập tháng 7 năm 2022, là một công ty về lĩnh vực công nghệ thông tin Đối với công ty, mỗi khách hàng là đối tác của công ty, khách hàng hợp tác với công ty để cung cấp dịch vụ CNTT chất lượng , chi phí hợp lí Đội ngũ chuyên gia CNTT thân thiện, giàu kinh nghiệm, và đáng tin cậy của công ty sẽ đến tận nơi, gọi điện, gởi email hoặc nhắn tin để hỗ trợ khách hàng Công ty luôn giúp đỡ phía sau khách hàng để đảm bảo hiệu quả trong hoạt động của các công cụ và hệ thống của khách hàng nhằm đạt được mức năng suất cao nhất.
Sứ mệnh của công ty là mang đến nền tảng vận hành số hóa doanh nghiệp. Đồng hành cùng doanh nghiệp trên con đường đưa Việt Nam trở thành nền kinh tế dựa trên khoa học kĩ thuật Hoạt động với phương châm đặt lợi ích khách hàng lên hàng đầu Công ty luôn có khát khao cháy bỏng là làm cho doanh nghiệp hoạt động hiệu quả hơn, nhanh chóng hơn. Đội ngũ nhân viên làm việc say mê, yêu thích công nghệ và luôn hướng đến cái mới trong mọi công việc Luôn luôn hết mình với ý tưởng của lãnh đạo.
- Email: info@it-global.net - Điện thoại: 0987.613.161 (Mr.Tân )
- Trụ sở: 2/1/15 đường 40, phường Hiệp Bình Chánh, TP Thủ Đức, TP Hồ ChíMinh
Nhiệm vụ, chức năng của đơn vị
Công ty có chương trình quản lý linh hoạt và nhanh nhẹn cho phép người dùng kiểm soát tiến độ và chất lượng phát triển hệ thống của mình Khi người dung cần một hệ thống phần mềm nhưng không muốn tạo ra nó, công ty sẽ thực hiện nhiệm vụ đó cho bạn Ngoài ra, IT-Global có thể cử các nhà phát triển, những nhân viên có kinh nghiệm lâu năm đến để làm việc tại văn phòng của bạn Đồng thời triển khai các giải pháp với chi phi hợp lý để phù hợp với khả năng năng với tài chính của khách hàng và trở thành một trong những đơn vị đóng góp tốt nhất cho thời đại chuyển đổi số tại thị trường Việt Nam.
Sứ mệnh của công ty là mang đến nền tảng vận hành số hóa doanh nghiệp. Đồng hành cùng doanh nghiệp trên con đường đưa Việt Nam trở thành nền kinh tế dựa trên khoa học kĩ thuật Hoạt động với phương châm đặt lợi ích khách hàng lên hàng đầu Công ty luôn có khát khao cháy bỏng là làm cho doanh nghiệp hoạt động hiệu quả hơn, nhanh chóng hơn. Đội ngũ nhân viên làm việc say mê, yêu thích công nghệ và luôn hướng đến cái mới trong mọi công việc Luôn luôn hết mình với ý tưởng của lãnh đạo.
Giới thiệu cơ cấu tổ chức và nhân sự của đơn vị
Hình 2.2 Cơ cấu tổ chức IT-Global
THỰC TRẠNG CHỦ ĐỀ NGHIÊN CỨU
Khái quát một số nội dung lý thuyết căn bản về chủ đề nghiên cứu
RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web
(thiết kế Web services) để tiện cho việc quản lý các resource Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.
- API (Application rogramming Interface) là một tập các quy tắc và cơ chế màP theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML.
- REST RE ( presentational tate Transfer) là một dạng chuyển đổi cấu trúc dữS liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.
- Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API.
Hình 3.1 Mô hình REST API
- Nodejs là một nền tảng (Platform) phát triển độc lập được xây dựng ở trên Javascript Runtime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng.
- Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ Dù sao thì chúng ta cũng nên biết qua một chút chút lịch sử của thứ mà chúng ta đang học một chút chứ nhỉ?
- Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao.
- Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực.
- Nest (NestJS) là framwok để xây dựng các ứng dụng phía máy chủ Node.js hiệu quả, có thể mở rộng Nó sử dụng JavaScript lũy tiến, được xây dựng và hỗ trợ đầy đủ TypeScript
- Về cơ bản, Nest sử dụng các khung Máy chủ HTTP mạnh mẽ như Express (mặc định) và có thể được định cấu hình tùy chọn để sử dụng cả Fastify!
- Nest cung cấp mức độ trừu tượng cao hơn các khung Node.js phổ biến như Express/Fastify, nhưng cũng hiển thị trực tiếp các API của chúng cho nhà phát triển Điều này cho phép các nhà phát triển tự do sử dụng vô số mô-đun của bên thứ ba có sẵn cho nền tảng cơ bản.
Hình 3.2 Trang chủ của NestJS
3.1.4 Cơ sở dữ liệu phi quan hệ MongoDB là gì?
- MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là CSDL thuộc NoSql và được hàng triệu người sử dụng.
- MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu trữ trong document kiểu JSON thay vì dạng bảng như CSDL quan hệ nên truy vấn sẽ rất nhanh.
- Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ (nhưMySQL hay SQL Server ) sử dụng các bảng để lưu dữ liệu thì với MongoDB chúng ta sẽ dùng khái niệm là collection thay vì bảng
- So với RDBMS thì trong MongoDB collection ứng với table, còn document sẽ ứng với row , MongoDB sẽ dùng các document thay cho row trong RDBMS.
- Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ không cần tuân theo một cấu trúc nhất định.
- Thông tin liên quan được lưu trữ cùng nhau để truy cập truy vấn nhanh thông qua ngôn ngữ truy vấn MongoDB
Trình bày và phân tích các dữ liệu, quy trình mà sinh viên thu thập được
- Thực hiện tham gia họp với khách hành để thu thập nhu cầu , đánh giá khả năng của dự án , xem xét các chức năng dựa trên yêu cầu của khách hàng.
- Thực hiện nghiên cứu về API cũng như hiểu rõ về nodeJS
- Học cách sử dụng Framwork NestJs để viết API giúp thêm , xóa ,sửa , xem và tìm kiếm dựa trên request bên phái Fornt-end.
- Hiểu được cách kết nối dữ liệu với database MongoDB , cách tương tác cũng như truy vấn dữ liệu từ MongoDB
- Tham gia , hỗ trợ việc thêm dữ liệu và gởi về database để kiểm thử độ ổn định và hiệu quả
- Truy cập , cấu hình và kiểm tra database MongodB
Hình 3.3 Trang web MongoDB của dự án
KẾT QUẢ THỰC TẬP
Đặc tả yêu cầu cầu bài toán
- Thu thập thông tin từ khách hàng - Xây dựng logic để viết RESTFUL API - Tạo cơ sở dữ liệu MongoDB để tương tác với api
- Dùng Postman để gởi các request như GET , POST , PATCH , DELETE để kiểm tra khả năng
- Tạo các module : tin tức , tin tuyển dụng , thư tư vấn từ khác hàng , người dùng - Chức năng xem theo danh sách hoặc xem theo id của từng module
- Chức năng thêm dữ liệu của từng module - Chức năng sửa dữ liệu của từng module - Chức năng xóa dữ liệu của từng module - Chức năng tìm kiếm dữ liệu của từng module - Chức năng phân trang dữ liệu của từng module - Chức năng sắp xếp dữ liệu theo ngày của từng module
- Tương tác dữ liệu qua trang web databe: MongoDB: The Developer Data Platform | MongoDB
- Call api từ serer heroku : Cloud Application Platform | Heroku- Đường dẫn chung api để thực hiện các request : https://be-fe.herokuapp.com
Phân tích hệ thống đặc tả
- Luồng đi của dữ liệu :
Hình 4.1 Luồng đi của dữ liệu
Hình 4.2 Sơ đồ chức năng của dự án
Xây dựng chương trình xoay quanh các module
4.3.1 Chức năng GET dữ liệu:
- Get dữ liệu, phân trang, sắp xếp theo ngày: dùng post man để thực hiện request lấy tất cả dữ liệu của module , phân trang dữ liệu và sắp xếp theo ngày gần nhất.
Hình 4.3 Lấy tất cả dữ liệu và phân trang
4.3.2 Chức năng POST dữ liệu:
- Post thêm dữ liệu : dùng postman thực hiện request và kiểm tra xem dữ liệu đã được thêm vào chưa
Hình 4.4 Thêm dữ liệu cho module người dùng
4.3.3 Chức năng PATCH dữ liệu :
- Patch sửa dữ liệu : dùng postman thực hiện request sửa 1 hoặc nhiều trường và kiểm tra xem dữ liệu đã được sửa chưa
Hình 4.5 Sửa dữ liệu cho module người dùng dựa trên id
4.3.4 Chức năng DELETE dữ liệu:
- Delete xóa dữ liệu : dùng postman thực hiện request và kiểm tra xem dữ liệu đã được xóa chưa
Hình 4.6 Xóa dữ liệu cho module người dùng dựa trên id
4.3.5 Chức năng SEARCH dữ liệu:
- Search tìm kiếm dữ liệu : dùng postman thực hiện request và kiểm tra xem có tìm thấy dữ liệu dựa trên từ khóa đã nhập vào chưa
Hình 4.7 Tìm kiếm dữ liệu theo từ khóa “Th”
Tạo lập bảng CSDL (nếu có)
Hình 4.8 Mô hình CSDL của dự án
So sánh giữa lý thuyết và thực tiễn
- Môi trường làm việc ở thực tế khác xa với lý thuyết đã học trên trường
- Những kiến thức đã học không áp dụng được nhiều trong thực tế Đánh giá:
- Lí thuyết và thưc hành phải luôn đi đôi với nhau, lí thuyết là nền tảng cho thực tiễn và thực tiễn cũng là kết quả của viêc — áp dung nhuần nhuyễn lý thuyết
- Để đạt đươc hiệu quả, ngoài những kiến thức ở trường em còn phải trang bi — cho mình kỹ năng mềm, đó là những kỹ năng học h ỏi trong thực tế và biến chúng thành thế mạnh cho bản thân mình Như là kỹ năng làm việc nhóm, kỹ năng sáng tao, tư duy, quan sát, kỹ năng giao tiếp, thuyết trình
Đề xuất các giải pháp cải thiện tình hình thực tế
- Rèn luyện kĩ năng viết code
- Không ngừng trau dồi kiến thức, học tập công nghệ mới
- Nâng cao tinh thần trách nhiệm với công việc được giao
- Tiếp thu các nhận xét, đánh giá từ những người đi trước và đồng nghiệp
- Tham khảo, tìm hiểu công cụ thích hợp để hỗ trợ tốt cho quá trình lập trình
- Nâng cao kỹ năng giao tiếp và đưa ra câu hỏi.
Những khó khăn trong quá trình thực tập
- Chưa hoàn thành tốt nhiệm vụ mỗi ngày do khối lượng kiến thức mới cần học hỏi và áp dụng
- Kỹ năng thuyết trình còn yếu kém , cần phải cải thiện
- Vừa phải tham gia học trên trường, vừa tham gia thực tập ở phía công ty khiến cho việc cân bằng thời gian bị hạn chế nên cũng mất đi những buổi training cần thiết.
- Chưa thích ứng tốt với môi trường làm việc.