Đề Tài Website Tuyển Dụng Cho Ngành Giáo Dục.pdf

19 0 0
Tài liệu đã được kiểm tra trùng lặp
Đề Tài  Website Tuyển Dụng Cho Ngành Giáo Dục.pdf

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN MÔN HỌCPROJECT III

Phạm Đức Trungtrung.pd190082@sis.hust.edu.vnTrường Công nghệ thông tin và Truyền thông

Chuyên ngành Kỹ thuật máy tính

Đề tài: Website tuyển dụng cho ngành giáo dụcGiảng viên hướng dẫn TS Nguyễn Thị Thanh Nga

Hà Nội, 23 tháng 2 năm 2023

Trang 3

1 Đặt vấn đề - giới thiệu đề tài

● Nhu cầu tìm gia sư, tìm khóa học ngày càng tăng cao đòi hỏi cómột nền tảng trung gian giúp kết nối giữa gia sư và các nhà tuyểndụng Trang web “TopEd" ra đời với sứ mệnh trên

● TopEd cung cấp các công cụ tiện ích giúp các đơn vị tuyển dụngcó thể quản lý các lớp của mình một cách hiệu quả: tích hợpfacebook messager, facebook post Đồng thời cũng cung cấpnhững cung cấp những công cụ giúp cho gia sư có thể nhanhchóng tìm được lớp học phù hợp với mong muốn, trình độ củamình.

2 Thiết kế hệ thốnga Thiết kế tổng quan

i userIJobStatus{

id: string;title: string;}

jobStatus: IJobStatus[];}

IUser{_id?:string;avatar?:string| null;name?:string| null;birthdate?:Date;

Trang 4

email?:string| null;phoneNumber?:string[];address?:string[];companyName?:string;contact?:string[];workspace?:IWorkspace;labels?:ILabel[];}

ii jobIJob{

b Biểu đồ hoạt độngi Đăng nhập

Trang 5

ii Tạo lớp

Trang 6

iii Cập nhật trạng thái lớp

Trang 7

iv Tìm lớp

Trang 8

v Gia sư ứng uyển

Trang 9

vi Tạo trạng thái mới

Trang 10

vii Di chuyển lớp học giữa các trạng thái

Trang 11

c Công nghệ sử dụngi Backend

Trang 12

1 NestJs:NestJS là một NodeJS framework dùng đểphát triển server-side applications hiệu quả và có thểmở rộng NestJS là sự kết hợp bởi OOP(ObjectOriented Programming), FP(FunctionalProgramming), FRP(Functional Reactive

Programming) NestJS sử dụng TypeScript để pháttriển nhưng nó cũng hỗ trợ cả Javascript Vì vậy bạnkhông cần phải lo lắng việc mình không thể làm tốtNestJS vì không biết TypeScript Nest được lấy cảmhứng từ kiến trúc Agular nên với các bạn đã làm việcvới Agular thì chắc hẳn sẽ không còn xa lạ gì và cóthể dễ dàng tiếp cận Tin vui với các lập trình viênyêu thích Express hay Fastify là Nest cho phép tíchhợp sử dụng Express và Fastify như một

middleware Nó được đóng gói trong 2 package củanpm làplatform-expressvàplatform-fastifyQuantrọng hơn, nó buộc các nhà phát triển sử dụng mộtkiến trúc cụ thể bằng cách giới thiệu các module,provider và controller, đảm bảo ứng dụng highlyscalable, testable và dễ dàng maintaince Nest rấtkhắt khe và chặt chẽ trong việc xây dựng cấu trúcproject Vì vậy hãy tuân thủ theo nó

2 Docker:

● Docker là nền tảng phần mềm cho phép bạndựng, kiểm thử và triển khai ứng dụng mộtcách nhanh chóng Docker đóng gói phầnmềm vào các đơn vị tiêu chuẩn hóa được gọilàcontainercó mọi thứ mà phần mềm cần đểchạy, trong đó có thư viện, công cụ hệ thống,mã và thời gian chạy Bằng cách sử dụngDocker, bạn có thể nhanh chóng triển khai vàthay đổi quy mô ứng dụng vào bất kỳ môitrường nào và biết chắc rằng mã của bạn sẽchạy được.

● Docker hoạt động bằng cách cung cấpphương thức tiêu chuẩn để chạy mã của bạn.Docker là hệ điều hành dành cho container.Cũng tương tự như cáchmáy ảoảo hóa (loạibỏ nhu cầu quản lý trực tiếp) phần cứng máychủ, các container sẽ ảo hóa hệ điều hành của

Trang 13

máy chủ Docker được cài đặt trên từng máychủ và cung cấp các lệnh đơn giản mà bạn cóthể sử dụng để dựng, khởi động hoặc dừngcontainer.

ii Frontend1 NextJs:

● NextJslà một framework dựa trên React chophép bạn tối ưu hoá hiệu năng, hỗ trợ SEO vàtrải nghiệm người dùng thông qua

pre-rendering: Server Side Rendering (SSR)và Static Site Generation (SSG) Ở phần nàymình sẽ chia sẻ với các bạn những kiến thứccơ bản về Next.js và khi nào chúng ta nêndùng nó trong dự án.

● Tại sao dùng NextJs: Ưu điểm chính củaNext.js là hỗ trợ SSR tích hợp để tăng hiệusuất và SEO Server Side Rendering (SSR)hoạt động bằng cách thay đổi luồng yêu cầu(altering the request flow) của ứng dụng Reactđể tất cả các thành phần ngoại trừ máy kháchgửi thông tin của họ đến máy chủ.

● Với tất cả thông tin trên máy chủ, nó có thểhiển thị trước (pre-render) HTML của trang.Máy khách có thể gửi một yêu cầu đến máychủ và nhận toàn bộ trang HTML thay vì yêucầu từng thành phần riêng lẻ với client-siderendering.

2 SEO:

● SEO là từ viết tắt của Search EngineOptimization (tối ưu hóa công cụ tìm kiếm), làmột quy trình nâng cao thứ hạng của websitetrên các công cụ tìm kiếm giúp người dùng cóthể tìm thấy trang web dễ dàng hơn trên bảngkết quả tìm kiếm.

3 Firebase:

● Firebase là platform do Google cung cấp,nhằm hỗ trợ việc tạo ra các web application,mobile application với chất lượng cao.● Với việc sử dụng Firebase, developer có thể

tập trung vào việc phát triển application mà

Trang 14

không cần lo về việc sản phẩm của mình sẽhoạt động và được quản lý thể nào ở phíaBackend.

● Firebase Authentication:Firebase

Authentication là chức năng dùng để xác thựcngười dùng bằng Password, số điện thoạihoặc tài khoản Google, Facebook hay Twitter,v.v Việc xác thực người dùng là một chứcnăng quan trọng trong phát triển ứng dụng.Tuy nhiên, việc đối ứng với nhiều phươngpháp xác thực khác nhau sẽ tốn nhiều thờigian và công sức Firebase Authentication giúpthực hiện việc chia sẻ ID giữa các ứng dụng,giúp người dùng dễ dàng tiếp cận sản phẩmhơn Vì thế, nó là một chức năng rất quý.● Firebase Realtime Database: là một cơ sở dữ

liệu NoSQL được lưu trữ đám mây cho phépbạn lưu trữ và đồng bộ dữ liệu Dữ liệu đượclưu trữ dưới dạng JSON và được đồng bộ hóatheo thời gian thực cho mọi máy kết nối.3 Xây dựng triển khai

a Backendi Chức năng

sách cácuser

thông tinuser

thông tin job

Trang 15

7 delete /user/:id/job/:id xóa job

sách các job

b Frontendi Chức năng

Hiển thị danh sách các lớp học cần tuyển gia sư, tạolớp, …

c Mã nguồn, các màn chính

Trang chủ (1)

Trang 16

Dành cho gia sư(1)

Dành cho gia sư(2)

Tìm gia sư (1)

Tìm gia sư (2)

Trang 17

Tìm gia sư (3)

Tìm gia sư (4)

Tìm gia sư (5)

Đăng nhập(1)

Trang 18

b Tăng tốc độ: Cần tối ưu hóa các câu lệnh để ứng dụng chạynhanh hơn nhằm nâng cao trải nghiệm người dùng.c Tính năng mới:

● Nhắn tin:

Trang 19

● Kết nối với facebook post để có thể đăng bài tuyển dụnglên facebook một cách nhanh chóng

Ngày đăng: 29/05/2024, 18:11