BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH ỨNG DỤNG DI ĐỘNG Đề tài Ứng dụng tìm kiếm việc làm

58 0 0
BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH ỨNG DỤNG DI ĐỘNG Đề tài  Ứng dụng tìm kiếm việc làm

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠOHọc viện an ninh nhân dân

BÁO CÁO BÀI TẬP LỚN

MÔN: LẬP TRÌNH ỨNG DỤNG DI ĐỘNGĐề tài: Ứng dụng tìm kiếm việc làm

Giảng viên hướng dẫn : Bùi Hữu Phúc

Lăng Việt Hưng

Đặng Nguyễn Công Hiếu

BỘ GIÁO DỤC VÀ ĐÀO TẠOHọc viện an ninh nhân dân

Trang 2

BÁO CÁO BÀI TẬP LỚN

MÔN: LẬP TRÌNH ỨNG DỤNG DI ĐỘNGĐề tài: Ứng dụng tìm kiếm việc làm

Giảng viên hướng dẫn : Bùi Hữu Phúc

Lăng Việt Hưng

Đặng Nguyễn Công Hiếu

Trang 3

LỜI CẢM ƠN

Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Học viện an ninh nhân dân và Khoa An ninh thông tin đã đưa môn học Lập trình trên thiết bị di động vào trương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn –Thầy Bùi Hữu Phúc đã dạy dỗ, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học học Lập trình trên thiết bị di động của thầy, chúng em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để em có thể vững bước sau này Môn học Lập trình trên thiết bị di động là môn học thú vị, vô cùng bổ ích và có tính thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của Học viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài tập lớn khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét và góp ý để bài tập lớn của chúng em được hoàn thiện hơn Chúng em xin chân thành cảm ơn!

Kính chúc thầy sức khỏe, hạnh phúc thành công trên con đường sự nghiệp giảng dạy.

Trang 4

MỤC LỤC

MỤC LỤC 2

DANH MỤC CÁC BẢNG 4

CHƯƠNG 1 MỞ ĐẦU 6

1 Tính cấp thiết của đề tài 6

2 Tình hình nghiên cứu liên quan đến đề tài 6

2.3.Tại sao chọn Kotlin? 17

3 Hệ quản trị cơ sở dữ liệu (Firebase) 18

3.1.Khái niệm 18

3.2.Ưu điểm nổi bật của Firebase 19

3.3.Tại sao chọn Firebase? 20

4 Môi trường lập trình Android Studio 21

4.1.Khái niệm: 21

4.2.Ưu điểm 22

4.3.Lý do sử dụng Androi Studio 22

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ 24

1 Actors Và Use Case 24

1.1 Các Use Case Diagram 24

Trang 5

2.3.UC03: Cập nhật công ty 34

2.4.UC04: Đăng tin tuyển dụng 37

2.5 UC05: Thông báo 40

2.6.UC06: Cập nhật thông tin cá nhân 43

2.7.UC07: Ứng tuyển việc làm 47

Trang 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Trang 8

CHƯƠNG 1 MỞ ĐẦU1.Tính cấp thiết của đề tài

Trong thời đại công nghệ thông tin hiện nay, việc tìm kiếm việc làm trở nên đơn giản và thuận tiện hơn bao giờ hết Với ứng dụng tìm kiếm việc làm, bạn có thể tìm kiếm và ứng tuyển cho các công việc một cách nhanh chóng và dễ dàng hơn bao giờ hết.

Ứng dụng tuyển dụng việc làm là một công cụ hữu ích cho các ứng viên có nhu cầu tìm kiếm việc làm và nhà tuyển dụng cần tuyển nhân sự Với đầy đủ các chức năng cần thiết, ứng dụng này giúp cho các ứng viên có thể tìm kiếm thông tin về các vị trí việc làm phù hợp với kỹ năng, kinh nghiệm của mình và nộp hồ sơ ứng tuyển một cách dễ dàng Đồng thời, nhà tuyển dụng cũng có thể đăng thông tin tuyển dụng và sàng lọc hồ sơ ứng viên thông qua ứng dụng này Ngoài ra, ứng dụng còn cung cấp các tính năng khác như tạo và lưu trữ hồ sơ ứng viên, cập nhật thông tin tuyển dụng mới nhất, tư vấn nghề nghiệp và phát triển kỹ năng cho ứng viên Tất cả những tính năng này đều giúp cho quá trình tìm kiếm việc làm của các ứng viên và nhà tuyển dụng trở nên dễ dàng và thuận tiện hơn bao giờ hết.

2.Tình hình nghiên cứu liên quan đến đề tài

Tình hình nghiên cứu liên quan đến ứng dụng tìm kiếm việc làm trên thế giới và trong nước đang được quan tâm rất nhiều trong những năm gần đây Với sự phát triển của công nghệ thông tin, các ứng dụng tìm kiếm việc làm trực tuyến đã trở thành một công cụ quan trọng để giúp người lao động tìm kiếm việc làm một cách hiệu quả và nhanh chóng.

Trên thế giới, nghiên cứu đã chỉ ra rằng sự phát triển của các ứng dụng tìm kiếm việc làm trực tuyến đã góp phần giảm thiểu tình trạng thất nghiệp và tăng cường khả năng kết nối giữa người lao động và nhà tuyển dụng Ngoài ra, các nghiên cứu cũng cho thấy rằng các ứng dụng tìm kiếm việc làm trực tuyến cũng giúp tăng tính minh bạch và công bằng trong quá trình tuyển dụng Một số ứng dụng nổi tiếng trên thế giới như: ứng dụng LinkedIn, ứng dụng MyWork, ứng dụng Indeed

Trang 9

Trong nước, mặc dù các ứng dụng tìm kiếm việc làm trực tuyến cũng đang được sử dụng ngày càng phổ biến, tuy nhiên, nghiên cứu vẫn cho thấy rằng tình trạng thất nghiệp vẫn còn tồn tại và khả năng kết nối giữa người lao động và nhà tuyển dụng vẫn chưa được tối ưu Ngoài ra, một số nghiên cứu cũng cho thấy rằng các ứng dụng tìm kiếm việc làm trực tuyến cần được cải tiến để đáp ứng được nhu cầu của người lao động và nhà tuyển dụng tốt hơn Sau đây là một số ứng dụng được nhiều người tin dùng để tìm việc tại Việt Nam như Vietnamworks, Viec.co, Jobstreet VN, Muaban.net…

Do đó, việc nghiên cứu và phát triển các ứng dụng tìm kiếm việc làm trực tuyến là vô cùng cần thiết trong bối cảnh hiện nay, để giúp tối ưu hóa quá trình tuyển dụng, giảm thiểu tình trạng thất nghiệp và tăng cường khả năng kết nối giữa người lao động và nhà tuyển dụng, đóng góp tích cực vào sự phát triển kinh tế xã hội của đất nước.

3.Mục đích

Giúp người dùng có thể tìm kiếm việc làm một cách nhanh chóng và dễ dàng thông qua một nền tảng trực tuyến Ứng dụng sẽ cung cấp thông tin về các công việc đang có sẵn từ các doanh nghiệp, tổ chức và công ty khác nhau trong nhiều lĩnh vực khác nhau, giúp người dùng dễ dàng tìm kiếm và ứng tuyển vào các vị trí việc làm phù hợp với nhu cầu và kỹ năng của mình.

Ngoài ra, ứng dụng cũng sẽ cung cấp các công cụ và tính năng hỗ trợ người dùng trong quá trình tìm kiếm việc làm, bao gồm việc tạo hồ sơ, tìm kiếm và lưu lại các công việc yêu thích, cập nhật thông tin về các sự kiện tuyển dụng và tư vấn về cách tìm kiếm việc làm hiệu quả Ứng dụng cũng sẽ kết nối các nhà tuyển dụng với người dùng thông qua các công cụ liên lạc trực tuyến, giúp cho việc tìm kiếm việc làm trở nên thuận tiện hơn và giảm thiểu sự cố gắng và thời gian tìm kiếm việc làm của người dùng.

Trang 10

4.Nhiệm vụ

Dự án này là phát triển một ứng dụng tuyển dụng việc làm cho cả người tìm việc và nhà tuyển dụng Ứng dụng sẽ được phát triển trên nền tảng Android Studio và sử dụng ngôn ngữ Kotlin để lập trình Để lưu trữ dữ liệu, ứng dụng sẽ sử dụng cơ sở dữ liệu Firebase của Google.

Các chức năng của ứng dụng bao gồm:

Cho phép người dùng đăng nhập và tạo hồ sơ cá nhân của mình để tìm kiếm việc

Cung cấp thông tin chi tiết về các công việc và các công ty đang tuyển dụng để giúp người dùng chọn lựa việc làm phù hợp với kỹ năng và mong muốn của mình Cung cấp hệ thống gửi thông báo tới người dùng khi có việc làm phù hợp với hồ sơ của họ được đăng tải trên ứng dụng.

Cho phép nhà tuyển dụng đăng tải thông tin về các công việc đang tuyển dụng và quản lý các ứng viên đã nộp đơn.

Cung cấp tính năng chat để nhà tuyển dụng và ứng viên có thể trao đổi thông tin về công việc và quá trình ứng tuyển.

Mục tiêu của dự án là phát triển một ứng dụng tuyển dụng việc làm hiệu quả, giúp giải quyết vấn đề thất nghiệp và giúp nhà tuyển dụng tìm kiếm nhân sự phù hợp Ứng dụng sẽ được thiết kế để phục vụ cho mọi đối tượng, từ sinh viên đến nhân viên văn phòng và những người có nhu cầu tìm kiếm việc làm.

Tìm hiểu và phát triển ứng dụng tìm việc làm Áp dụng các kiến thức về lập trình trên Android Studio và sử dụng cơ sở dữ liệu Firebase để xây dựng một ứng dụng

Trang 11

tìm việc làm chuyên nghiệp và dễ sử dụng Áp dụng các kỹ năng phân tích thiết kế hệ thống thông tin để đảm bảo rằng ứng dụng có khả năng cung cấp các thông tin về công việc và tìm kiếm việc làm một cách nhanh chóng và hiệu quả cho người dùng.

5.Cấu Trúc

Cấu trúc đề tài gồm có 4 phần lần lượt là: Mở đầu, Cơ sở lý thuyết, Phân tích thiết kế, Kết luận và kiến nghị.

Mở đầu: Ở phần mở đầu chúng em giới thiệu và trình bày sơ lược về lý do cũng như mục tiêu để hình thành và thực hiện đề tài cũng như các chức năng tiêu biểu cho người dùng.

Cơ sở lý thuyết: Ở đây chúng xem trình bày về các khái niệm và phương pháp giải quyết vấn đề được dùng trong ứng dụng cũng như các công nghệ, hệ thống và các bên được liên kết với ứng dụng được chúng em sự dụng.

Phân tích thiết kế: Phần này chúng nói về các UML như: Use case, ERD, Class Diagram chung của đề tài và các Activity Diagram, Sequence Diagram của từng chức năng của ứng dụng.

Kết luận và kiến nghị: Chúng em nêu những kết luận chung về quá trình thực hiện đề tài, khẳng định những kết quả đạt được, cũng như hạn chế đang mắc phải và hướng phát triển của ứng dụng trong tương lai.

6.Đối tượng và phạm vi nghiên cứu

6.1 Đối tượng sử dụng

Ứng dụng tìm kiếm việc làm phục vụ cho các đối tượng:

Người tìm việc: Đây là đối tượng chính của ứng dụng tìm kiếm việc làm Các ứng viên có thể sử dụng để tìm kiếm các công việc phù hợp với kỹ năng và kinh

nghiệm của mình.

Trang 12

Nhà tuyển dụng: Ứng dụng tìm kiếm việc làm cũng có thể hỗ trợ các nhà tuyển dụng trong việc tìm kiếm ứng viên phù hợp cho các vị trí cần tuyển dụng Các nhà tuyển dụng có thể đăng thông tin tuyển dụng lên để thu hút các ứng viên.

Các trung tâm đào tạo và tổ chức giáo dục: Ứng dụng tìm kiếm việc làm cũng có thể hỗ trợ các trung tâm đào tạo và tổ chức giáo dục trong việc cung cấp thông tin về các công việc phù hợp với chương trình đào tạo của họ.

Các chuyên gia tư vấn nghề nghiệp: Ứng dụng tìm kiếm việc làm cũng có thể hỗ trợ các chuyên gia tư vấn nghề nghiệp trong việc cung cấp thông tin về các công việc phù hợp với khả năng và sở trường của các ứng viên.

6.2 Phạm vi nghiên cứu

Nghiên cứu về mục tiêu của ứng dụng tìm kiếm việc làm, bao gồm các chức năng cơ bản như tìm kiếm việc làm theo từ khóa, địa điểm, ngành nghề, kinh nghiệm, mức lương, thông tin nhà tuyển dụng và các tính năng nâng cao khác.

Đối tượng nghiên cứu chủ yếu là những người tìm kiếm việc làm bao gồm các nhóm người dùng như sinh viên, người đang tìm việc, người muốn thay đổi công việc, người lao động tự do, nhà tuyển dụng và các nhóm khác.

Nghiên cứu về các yếu tố ảnh hưởng đến sự lựa chọn ứng dụng tìm kiếm việc làm bao gồm tính tiện dụng, tính linh hoạt, tính bảo mật, tính thẩm mỹ, độ tin cậy và các yếu tố khác.

Đánh giá hiệu quả của ứng dụng tìm kiếm việc làm dựa trên các chỉ số như số lượng người dùng, số lượng công việc đăng tuyển, tỉ lệ thành công của việc tìm kiếm việc làm, đánh giá từ người dùng và các chỉ số khác.

Nghiên cứu về các xu hướng và thách thức của thị trường tìm kiếm việc làm bao gồm các công nghệ mới, thay đổi về hình thức tuyển dụng, cạnh tranh giữa các ứng dụng tìm kiếm việc làm và các thách thức khác.

Trang 13

7.Ý nghĩa và vai trò

7.1 Ý nghĩa

Ứng dụng tìm kiếm việc làm có ý nghĩa rất quan trọng trong việc giúp những người đang tìm kiếm việc làm tìm được công việc phù hợp với nhu cầu, kỹ năng và mục tiêu của mình Đặc biệt, với sự phát triển của công nghệ và ứng dụng thông minh, các app tìm kiếm việc làm trở nên ngày càng tiện lợi và đa dạng, giúp cho người dùng có thể tìm kiếm việc làm một cách nhanh chóng, tiện lợi và hiệu quả.

Cụ thể, app tìm kiếm việc làm cho phép người dùng:

Tìm kiếm công việc theo từ khóa, địa điểm, lĩnh vực, mức lương, kinh nghiệm, trình độ học vấn và các tiêu chí khác.

Xem thông tin chi tiết về công việc, bao gồm mô tả công việc, yêu cầu công việc, quyền lợi và chế độ phúc lợi của nhà tuyển dụng.

Nộp đơn xin việc trực tuyến thông qua app, gửi CV và thư xin việc một cách nhanh chóng và thuận tiện.

Nhận thông báo về các công việc mới nhất, đáp ứng với các tiêu chí tìm kiếm của người dùng.

Theo dõi tiến trình xử lý hồ sơ xin việc, tương tác với nhà tuyển dụng qua app để cập nhật thông tin về kết quả phỏng vấn và lịch hẹn phỏng vấn.

Với những tính năng trên, app tìm kiếm việc làm giúp người dùng tiết kiệm thời gian và công sức trong việc tìm kiếm việc làm, đồng thời giúp cho nhà tuyển dụng có thể tiếp cận với một lượng lớn ứng viên có kỹ năng phù hợp với yêu cầu công việc của họ.

7.2 Vai trò

Ứng dụng tìm kiếm việc làm đóng vai trò quan trọng trong việc giúp những người đang tìm kiếm việc làm tìm được các cơ hội việc làm phù hợp với nhu cầu của họ Các vai trò chính của ứng dụng tìm kiếm việc làm bao gồm:

Trang 14

Cung cấp thông tin về việc làm: Ứng dụng tìm kiếm việc làm giúp người dùng có thể tìm thấy thông tin về các công việc đang tuyển dụng, thông tin về nhà tuyển dụng và các yêu cầu tuyển dụng.

Tối ưu hóa quá trình tìm kiếm việc làm: Ứng dụng tìm kiếm việc làm giúp người dùng tìm kiếm việc làm nhanh chóng và hiệu quả hơn bằng cách sử dụng các công cụ tìm kiếm thông minh và lọc các kết quả tìm kiếm theo nhu cầu và yêu cầu của người dùng.

Giúp người dùng nộp đơn xin việc: Ứng dụng tìm kiếm việc làm cung cấp các tính năng nộp đơn xin việc trực tuyến, giúp người dùng tiết kiệm thời gian và tiện lợi hơn khi nộp đơn xin việc.

Cung cấp các công cụ hỗ trợ cho tìm việc: Ứng dụng tìm kiếm việc làm cung cấp các công cụ hỗ trợ như CV builder, kỹ năng tìm kiếm việc làm và các tài nguyên khác để giúp người dùng tìm kiếm việc làm hiệu quả hơn.

Cập nhật thông tin tuyển dụng mới nhất: Ứng dụng tìm kiếm việc làm cập nhật thông tin về các công việc mới nhất và các thông tin về ngành nghề và tiến trình tuyển dụng, giúp người dùng cập nhật những thông tin quan trọng để tìm kiếm việc làm hiệu quả hơn.

Trang 15

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT1.Hệ điều hành Android

1.1.Khái niệm:

Android là một hệ điều hành dựa trên nền tảng Linux, được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Chính mã nguồn mở của Android cùng với tính không ràng buộc nhiều đã cho phép các nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị Nhờ yếu tố mở, dễ dàng tinh chỉnh cùng sự phát triển nhanh chóng đã khiến hệ điều hành này dần trở nên phổ biến, kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng nhưng giờ đây Android đã xuất hiện trên các smart TV, máy chơi game và một số thiết bị điện tử khác.

Android là hệ điều hành mã nguồn mở cùng với việc phát hành mã nguồn mở theo giấy phép Apache của Google Apache là là một giấy phép không có nhiều ràng buộc cùng với mã nguồn mở đã cho phép các nhà phát triển thiết bị di,các nhà mạng và các lập trình viên nhanh chóng tiếp cận điểu chỉnh và phân phối Android một cách tự do Một số lượng lớn lập trình viên chuyên viết các ứng dụng mở rộng chức năng của các thiết bị, bằng ngôn ngữ lập trình Java có sửa đổi Android liên tục được phát triển, mỗi bản cập nhật từ Google là mỗi lần Android được tối ưu hóa hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới.

Trang 16

1.2.Ưu điểm:

Số lượng người dùng: Android là hệ điều hành di động phổ biến nhất trên thế giới, với hơn 2,5 tỷ thiết bị được sử dụng Điều này đảm bảo rằng ứng dụng của bạn sẽ có khả năng tiếp cận được với một lượng lớn người dùng.

Tính linh hoạt: Android cung cấp cho nhà phát triển nhiều lựa chọn để xây dựng ứng dụng, từ đó tạo ra sự linh hoạt cao trong phát triển ứng dụng

Người lập trình có thể sử dụng nhiều ngôn ngữ lập trình khác nhau như Java, Kotlin, C++, Python, và Rust để phát triển ứng dụng trên Android.

Dễ dàng phát triển và triển khai ứng dụng: Android Studio là môi trường phát triển tích hợp (IDE) cho phép nhà phát triển xây dựng và triển khai ứng dụng trên nền tảng Android một cách dễ dàng và thuận tiện.

Thị trường ứng dụng đa dạng: Google Play Store là kho ứng dụng lớn nhất trên thế giới, cung cấp cho người dùng các ứng dụng từ nhiều lĩnh vực khác nhau Điều này giúp cho nhà phát triển có thể tiếp cận với nhiều người dùng khác nhau và tăng khả năng tìm kiếm của ứng dụng.

Tính bảo mật cao: Android được thiết kế để đảm bảo tính bảo mật cao, với nhiều tính năng bảo mật như phát hiện mã độc, mã hóa dữ liệu, xác thực người dùng và kiểm soát quyền truy cập ứng dụng.

Hỗ trợ đa thiết bị: Android có thể hoạt động trên nhiều loại thiết bị khác nhau, từ điện thoại thông minh đến máy tính bảng và các thiết bị thông minh khác Điều này giúp cho ứng dụng có thể chạy trên nhiều loại thiết bị khác nhau, tăng khả năng tiếp cận với người dùng.

1.3.Tại sao chọn lập trình trên hệ điều hành Androi trên di động mà không phải trên Webside.

Chúng em đã lựa chọn hệ điều hành Android để xây dựng ứng dụng tìm kiếm việc làm với những lý do sau đây:

Trang 17

Sự phổ biến và đa dạng của hệ điều hành Android: Android là hệ điều hành phổ biến nhất trên thị trường điện thoại di động với một số lượng lớn người dùng Việc lựa chọn Android cho ứng dụng tìm kiếm việc làm đảm bảo rằng chúng em có thể tiếp cận và phục vụ một đối tượng người dùng rộng lớn.

Mở và linh hoạt: Hệ điều hành Android là một nền tảng mở, cho phép chúng em tùy chỉnh và phát triển ứng dụng theo ý muốn Chúng em có thể tận dụng các tính năng của Android như quyền truy cập vào các thành phần hệ thống, tương tác với các ứng dụng khác và tích hợp các dịch vụ bên thứ ba để cung cấp trải nghiệm tốt nhất cho người dùng.

Dễ dàng triển khai và cập nhật: Xây dựng ứng dụng trên nền tảng Android cho phép chúng em triển khai và cập nhật nhanh chóng Google Play Store cung cấp một cơ sở hạ tầng mạnh mẽ để phân phối và cập nhật ứng dụng Android Chúng em có thể đẩy các bản cập nhật và phiên bản mới của ứng dụng một cách dễ dàng và nhanh chóng đến người dùng.

Tích hợp với các công nghệ và dịch vụ Google: Android có tích hợp sâu sắc với các dịch vụ và công nghệ của Google như Google Maps, Firebase, Google Sign-In và nhiều hơn nữa Điều này cho phép chúng em tận dụng các công nghệ và dịch vụ mạnh mẽ của Google để cung cấp những tính năng và trải nghiệm tốt nhất cho người dùng.

Mặc dù hệ điều hành iOS và ứng dụng web có ưu điểm riêng của họ, tuy nhiên, lựa chọn Android cho ứng dụng tìm kiếm việc làm là phù hợp với mục tiêu và đối tượng người dùng của chúng em.

2.Ngôn ngữ lập trình (Kotlin)

2.1.Khái niệm:

Kotlin là một ngôn ngữ lập trình hiện đại, đa nền tảng, hướng đối tượng, được phát triển bởi JetBrains Kotlin được thiết kế để chạy trên Java Virtual

Machine (JVM) và cũng có thể biên dịch thành mã máy để chạy trên các thiết bị di động, máy tính và các thiết bị IoT khác Kotlin được coi là một ngôn ngữ lập trình thay thế cho Java trong việc phát triển ứng dụng Android, vì nó có nhiều tính năng

Trang 18

tiện ích và dễ đọc hơn Java Kotlin cũng cung cấp tính năng an toàn hơn trong việc phát hiện các lỗi khi lập trình.

2.2.Ưu điểm:

Kotlin có thể khắc phục được các yếu điểm của Java như:

code ít giúp lập trình viên dễ đọc, dễ viết và dễ làm việc cùng Những người mới bắt đầu đều có thể tiếp thu dễ dàng các kiến thức đặc thù của loại ngôn ngữ này Việc tối giản được số lượng code đã giúp cho Kotlin mang lại những trải nghiệm thú vị hơn cho người dùng so với các loại ngôn ngữ khác như Java

Kotlin không bị lỗi NullPointerException: Với những lập trình viên thì bạn có thể thấy rõ NullPointerException là 1 trong những lỗi thường xuyên xuất hiện trong các dự án được viết bằng ngôn ngữ lập trình Java Lỗi NullPointerException sẽ xuất hiện ngay khi bạn gán giá trị null đến với một đối tượng nào đó, tuy nhiên khi truy xuất thì đối tượng này lại bị xuất hiện lỗi Khi chạy trên Android, nếu như bạn quên cập nhật đối tượng cho Java thì bạn sẽ nhận được log crash (dừng đột ngột) đã được báo cáo về hệ thống Những lỗi NullPointerException.Kotlin đều được thiết kế để có thể giảm thiểu cũng như loại bỏ được hầu hết các nguồn tham chiếu Null dựa vào cơ chế null-safety Chính vì vậy, theo các chuyên gia thì việc sử dụng ngôn ngữ lập trình Kotlin sẽ trở nên an toàn hơn Java rất nhiều Hầu hết các lập trình viên đều sẽ rất chú trọng đến những lỗi xảy ra ở code, vậy nên những code các ngắn thì càng ít lỗi hơn Chính vì thế, nên code trong Kotlin đều được thiết kế ngắn gọn hơn so với code được viết bằng Java mà kết quả kiểm tra đều cho ra giống nhau Để dễ hiểu hơn thì bạn có thể hình dung như sau: Nếu bạn định nghĩa một class trong Java cần phải sử dụng 7 đến 8 dòng thì khi dùng Kotlin dòng code đó sẽ được giảm xuống còn 2 đến 3 dòng hoặc thậm chí là 1 dòng mà kết quả sau cùng cho ra vẫn tương tự nhau.

Kotlin có khả năng tương tác cao: Kotlin được xem là một trong những ngôn ngữ lập trình có thể chạy trên máy ảo tương tự như Java Tuy nhiên, khả năng tương tác cao giúp cho Kotlin có thể tương thích 100% với Java nên 1 dự án có thể sử dụng

Trang 19

cả Java và Kotlin Hiện nay, các developer Android đều có khả năng sử dụng Java class library ngay khi dùng Kotlin để có thể thực hiện viết code và ngược lại Nhờ vậy, bạn có thể sử dụng ngôn ngữ này để có thể phát triển cũng như mở rộng cho việc phát triển các dự án Java bằng cũ mà không cần phải bắt lại có thể sử dụng Java class library khi dùng Kotlin để viết code và ngược lại Điều này có nghĩa , bạn có thể sử dụng Kotlin để bạn mở rộng và phát triển các Với những lập trình viên đã quen làm việc với Java khi chuyển sang hợp tác cùng Kotlin thì sẽ không còn cảm thấy bỡ ngỡ hay xa lạ bởi cú pháp của nó bây giờ đều rất quen thuộc Nhờ vậy,k các kỹ năng bạn đã có trong việc code Java đều có thể áp dụng được với Kotlin.

Kotlin được hỗ trợ ưu tiên trong Android Studio và IDE: Hiện nay, các developer Android đều có thể dễ dàng tận dụng các IDE được tích hợp từ Android Studio 3.0 Những phiên bản Android Studio thấp hơn cần phải thực hiện cài thêm plugin và nó khiến cho cấu hình Kotlin trong dự án trở nên đơn giản hơn Hiện tại, các IDE hỗ trợ cho Java đều sẽ có thể hỗ trợ cho cả Kotlin Chính vì thế, hầu hết các

Developer đều có thể tận dụng IDE trong số đó cả cả Android Studio Kotlin cùng với tool làm việc thân thiện sẽ hỗ trợ cho bạn lựa chọn Java IDE làm việc hoặc thực hiện làm việc cùng với command line

2.3.Tại sao chọn Kotlin?

Việc chọn ngôn ngữ Kotlin để viết ứng dụng tìm kiếm việc làm có nhiều lợi ích

Kotlin là một ngôn ngữ lập trình mới, hiện đại và linh hoạt được thiết kế để hoạt động tốt trên nền tảng Android Kotlin hỗ trợ rất nhiều tính năng mới, giúp cho việc viết code trở nên dễ dàng và thuận tiện hơn.

Kotlin là ngôn ngữ chính thức được Google lựa chọn để hỗ trợ cho Android, vì vậy nó được tích hợp sẵn trong Android Studio - môi trường phát triển tích hợp cho Android Việc sử dụng Kotlin cho ứng dụng tìm kiếm việc làm sẽ giúp cho việc phát triển và bảo trì ứng dụng trở nên đơn giản hơn.

Trang 20

Kotlin có khả năng tương thích ngược với Java, có nghĩa là code được viết bằng Java có thể được chuyển đổi sang Kotlin và ngược lại mà không cần phải thực hiện nhiều thay đổi Điều này giúp cho việc chuyển đổi từ Java sang Kotlin được thực hiện dễ dàng và không gây khó khăn cho các lập trình viên.

Kotlin có tính năng an toàn hơn so với Java về mặt kiểm soát kiểu dữ liệu Với Kotlin, các lập trình viên có thể tránh được các lỗi phát sinh do kiểu dữ liệu, giúp cho ứng dụng tìm kiếm việc làm được phát triển với chất lượng cao hơn.

3.Hệ quản trị cơ sở dữ liệu (Firebase)

3.1.Khái niệm

Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) là một phần mềm được sử dụng để quản lý và tổ chức dữ liệu trong một hệ thống máy tính Nó cung cấp các công cụ cho phép người dùng tạo, sửa đổi, xóa và truy xuất dữ liệu từ cơ sở dữ liệu Mục đích chính của DBMS là đảm bảo tính toàn vẹn, an ninh, hiệu quả và linh hoạt của dữ liệu trong toàn bộ hệ thống Tất cả các hệ quản trị cơ sở dữ liệu (DBMS) đều có cùng một chức năng, đó là quản lý và lưu trữ dữ liệu Tuy nhiên, mỗi hệ quản trị cơ sở dữ liệu đều có những đặc điểm, ưu điểm và hạn chế riêng, phù hợp với một số ứng dụng cụ thể Nhóm chúng em đã chọn Firebase cho việc lưu trữ dữ liệu và xây dựng ứng dụng tìm kiếm việc làm Firebase là một nền tảng đám mây do Google phát triển, cung cấp nhiều dịch vụ cho phát triển ứng dụng web và di động Trong đó, Firebase cũng cung cấp một cơ sở dữ liệu thời gian thực (real-time database) được lưu trữ trên đám mây, cho phép các ứng dụng sử dụng nó để lưu trữ và đồng bộ dữ liệu trực tiếp giữa các thiết bị và người dùng Cơ sở dữ liệu Firebase là một cơ sở dữ liệu NoSQL, sử dụng mô hình dữ liệu JSON để lưu trữ và truy xuất dữ liệu Firebase cũng cung cấp các tính năng bảo mật và quản lý truy cập cho cơ sở dữ liệu, giúp người dùng dễ dàng quản lý và bảo vệ dữ liệu của mình Các chức năng chính của Firebase bao gồm:

Cơ sở dữ liệu thời gian thực (Realtime Database): Firebase cung cấp cơ sở dữ liệu thời gian thực cho phép lưu trữ và đồng bộ dữ liệu giữa các thiết bị người dùng.

Trang 21

Lưu trữ (Storage): Firebase cung cấp một hệ thống lưu trữ đám mây cho phép lưu trữ và truy xuất các tệp tin, hình ảnh và video.

Xác thực (Authentication): Firebase cung cấp tính năng xác thực người dùng để đăng nhập và bảo vệ các ứng dụng trước các cuộc tấn công.

Thống kê (Analytics): Firebase cung cấp các dịch vụ thống kê cho phép theo dõi sự tương tác của người dùng với ứng dụng, giúp cho nhà phát triển hiểu rõ hơn về người dùng và cải thiện trải nghiệm người dùng.

Push Notification: Firebase cung cấp dịch vụ push notification cho phép nhà phát triển gửi thông báo tới người dùng, giúp tăng tính tương tác và tạo ra trải nghiệm tốt hơn cho người dùng.

AdMob: Firebase cung cấp tích hợp với AdMob, cho phép nhà phát triển hiển thị quảng cáo trong ứng dụng của họ.

Machine Learning: Firebase cung cấp tích hợp với Machine Learning cho phép nhà phát triển phát triển các tính năng thông minh trong ứng dụng của mình.

Cloud Functions: Firebase cung cấp dịch vụ Cloud Functions cho phép nhà phát triển viết mã backend trên máy chủ đám mây của Firebase.

3.2.Ưu điểm nổi bật của Firebase

Firebase là một nền tảng phát triển ứng dụng di động và web của Google, với những ưu điểm nổi bật sau:

Quản lý dữ liệu thời gian thực (Real-time database): Firebase cung cấp một cơ sở dữ liệu thời gian thực, cho phép đồng bộ dữ liệu giữa các thiết bị ngay lập tức Điều này rất hữu ích trong việc xây dựng các tính năng cập nhật trực tiếp và trò chuyện trong ứng dụng.

Xác thực người dùng (Authentication): Firebase cung cấp các công cụ mạnh mẽ để xác thực người dùng, bao gồm đăng ký, đăng nhập và quản lý tài khoản Nó hỗ trợ

Trang 22

nhiều phương thức xác thực như email/password, Google, Facebook và các nhà cung cấp xác thực khác.

Lưu trữ tệp tin (Storage): Firebase cung cấp dịch vụ lưu trữ đám mây để lưu trữ và quản lý các tệp tin như hình ảnh, video và tệp tin tài liệu Việc sử dụng lưu trữ đám mây giúp giảm tải cho máy chủ của ứng dụng và tăng tính khả dụng của dữ liệu Phân tích và theo dõi (Analytics): Firebase cung cấp các công cụ phân tích và theo dõi hiệu suất ứng dụng, giúp nhà phát triển hiểu rõ hơn về hành vi người dùng, tương tác và tài nguyên tiêu thụ Thông qua việc thu thập dữ liệu và phân tích, nhà phát triển có thể tối ưu hóa ứng dụng và cải thiện trải nghiệm người dùng.

Thông báo đẩy (Push notifications): Firebase hỗ trợ gửi thông báo đẩy tới các thiết bị di động, cho phép nhà phát triển gửi thông báo tới người dùng ngay cả khi ứng dụng đang không hoạt động Điều này giúp tăng tính tương tác và tiếp cận với người dùng.

Tích hợp dễ dàng: Firebase được tích hợp mạnh mẽ với các công nghệ phát triển ứng dụng phổ biến như Android, iOS, web và các ngôn ngữ lập trình như Kotlin, Swift, JavaScript, v.v Điều này giúp nhà phát triển dễ dàng tích hợp Firebase vào dự án hiện có và sử dụng các tính năng một cách thuận tiện.

Tổng quan, Firebase mang lại nhiều lợi ích và tiện ích cho việc xây dựng ứng dụng di động và web, từ việc quản lý dữ liệu thời gian thực đến xác thực người dùng, lưu trữ tệp tin, phân tích và theo dõi, thông báo đẩy và tích hợp dễ dàng

3.3.Tại sao chọn Firebase?

Firebase là một nền tảng dịch vụ đám mây của Google cung cấp nhiều tính năng hữu ích cho việc phát triển ứng dụng di động Dưới đây là một số ưu điểm của Firebase trong việc phát triển ứng dụng tìm kiếm việc làm:

Real-time Database: Firebase cung cấp cơ sở dữ liệu thời gian thực cho phép các ứng dụng liên kết đến cùng một cơ sở dữ liệu và đồng bộ hóa dữ liệu một cách nhanh chóng, giúp cải thiện trải nghiệm người dùng.

Trang 23

Đăng nhập và xác thực người dùng: Firebase cung cấp các công cụ đăng nhập và xác thực người dùng dễ sử dụng giúp tiết kiệm thời gian phát triển Các tính năng này bao gồm đăng nhập qua tài khoản Google, Facebook, Twitter, đăng ký, quên mật khẩu, đặt lại mật khẩu, xác thực email và số điện thoại.

Lưu trữ và chia sẻ tập tin: Firebase cung cấp tính năng lưu trữ và chia sẻ tập tin trong đám mây, giúp giảm thiểu việc lưu trữ dữ liệu trên máy chủ riêng Tính năng này giúp cho việc tải xuống và tải lên các tập tin như hình ảnh, video trở nên dễ dàng hơn.

Tích hợp thư điện tử: Firebase cung cấp tích hợp cho phép gửi thư điện tử để xác thực, kích hoạt tài khoản người dùng và gửi thông báo cho người dùng.

Tính năng phân tích và quảng cáo: Firebase cung cấp các công cụ phân tích và quảng cáo giúp bạn theo dõi và phân tích hành vi người dùng, giúp bạn hiểu rõ hơn về đối tượng người dùng của mình và cải thiện chất lượng sản phẩm.

Tính năng thử nghiệm và triển khai: Firebase cung cấp các công cụ để thử nghiệm và triển khai ứng dụng trên các nền tảng khác nhau và theo dõi hiệu suất của ứng dụng trên thị trường.

Đáng chú ý, còn là một dịch vụ rất đa năng và tính bảo mật cực kỳ tốt Firebase hỗ trợ cả hai nền tảng Android và IOS.

Vì những ưu điểm trên, Firebase là một lựa chọn tốt để sử dụng trong việc phát triển ứng dụng tìm kiếm việc làm Nó giúp tiết kiệm thời gian, tiết kiệm chi phí, giảm thiểu công việc quản lý hệ thống và cải thiện trải nghiệm người dùng

Firebase còn hỗ trợ tích hợp với các công cụ phát triển ứng dụng khác như Android Studio, Unity, React Native, Xamarin, giúp dễ dàng tích hợp và phát triển ứng dụng trên nhiều nền tảng khác nhau Ngoài ra, Firebase còn cập nhật thường xuyên các tính năng mới, bảo mật cao và hỗ trợ khách hàng tốt, giúp đảm bảo sự ổn định và hiệu quả của ứng dụng.

Trang 24

4.Môi trường lập trình Android Studio

4.1.Khái niệm:

Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho phát triển nền tảng Android Nó được ra mắt vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O Android Studio được phát hành miễn phí theo giấy phép Apache

Licence 2.0 Android Studio ở giai đoạn truy cập xem trước sớm bắt đầu từ phiên

bản 0.1 vào tháng 5.2013, sau đó bước vào giai đoạn beta từ phiên bản 0.8 được phát hành vào tháng 6 năm 2014 Phiên bản ổn định đầu tiên được ra mắt vào

tháng 12 năm 2014, bắt đầu từ phiên bản 1.0 Dựa trên phần mềm IntelliJ IDEA

của JetBrains, Android Studio được thiết kế đặc biệt để phát triển ứng dụng Android Nó hỗ trợ các hệ điều hành Windows, Mac OS X và Linux, và là IDE chính thức của Google để phát triển ứng dụng Android gốc để thay thế cho Android Development Tools (ADT) dựa trên Eclipse.

4.2.Ưu điểm

Môt số ưu điểm của Android Studio khi lập trình ứng dụng tìm kiếm việc làm là:

Hỗ trợ đầy đủ cho ngôn ngữ lập trình Kotlin, giúp cho việc phát triển ứng dụng nhanh chóng và hiệu quả hơn.

Cung cấp giao diện trực quan, dễ sử dụng và có tính tương thích cao với các công cụ khác.

Cung cấp một bộ công cụ mạnh mẽ để có thể xây dựng ứng dụng tìm kiếm việc làm, bao gồm cả các công cụ cho phân tích dữ liệu và xử lý hình ảnh.

Hỗ trợ các tính năng như Live Layout, Live Templates và Instant Run, giúp phát triển ứng dụng một cách nhanh chóng và thuận tiện.

Có cộng đồng phát triển lớn, cung cấp các tài liệu học tập, tài nguyên và các thư viện mã nguồn mở, giúp cho các lập trình viên dễ dàng tìm kiếm giải pháp cho các vấn đề khác nhau.

Được hỗ trợ bởi Google, giúp cho việc phát triển ứng dụng được cập nhật và bảo mật tốt hơn.

Trang 25

4.3.Lý do sử dụng Androi Studio

Trong quá trình phát triển ứng dụng tìm kiếm việc làm, chúng em đã lựa chọn Android Studio làm môi trường phát triển chính để xây dựng ứng dụng Lựa chọn này được đưa ra dựa trên các lý do sau:

Hỗ trợ đầy đủ cho phát triển ứng dụng Android: Android Studio là môi trường phát triển tích hợp (IDE) chính thức và được hỗ trợ bởi Google Nó cung cấp các công cụ và tài nguyên đáng tin cậy cho việc phát triển ứng dụng Android, bao gồm trình biên dịch, trình gỡ lỗi, quản lý dự án và giao diện người dùng thân thiện Điều này giúp chúng em tiết kiệm thời gian và năng lực phát triển, đồng thời tăng khả năng hiệu quả và chất lượng của ứng dụng.

Tương thích tốt với ngôn ngữ Kotlin: Android Studio hỗ trợ đặc biệt cho việc phát triển ứng dụng Android bằng ngôn ngữ Kotlin Kotlin là ngôn ngữ lập trình hiện đại, có cú pháp đơn giản và dễ hiểu, đồng thời hỗ trợ các tính năng tiên tiến như an toàn kiểu dữ liệu và lập trình hướng chức năng Việc sử dụng Kotlin giúp chúng em viết mã nguồn dễ dàng, tăng tính bảo mật và hiệu suất của ứng dụng.

Cộng đồng phát triển lớn: Android Studio được sử dụng rộng rãi bởi cộng đồng phát triển Android, điều này đồng nghĩa với việc có sẵn nhiều tài liệu, hướng dẫn và các thư viện hỗ trợ phong phú Chúng em có thể dễ dàng tìm kiếm và áp dụng các giải pháp, giúp giảm thời gian và công sức phát triển ứng dụng.

Trên cơ sở những lý do trên, chúng em quyết định sử dụng Android Studio để xây dựng ứng dụng tìm kiếm việc làm Sự kết hợp giữa Android Studio và ngôn ngữ Kotlin giúp chúng em tận dụng tối đa tiềm năng của nền tảng Android và phát triển ứng dụng chất lượng cao với hiệu suất tốt.

Trang 26

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ1.Actors Và Use Case

1.1 Các Use Case Diagram

Hình 3.1.1.1: Use case mô tả ứng dụng

Trang 27

1.2 Mô Tả Actors

Bảng 3.2.2.1

STT

ứng dụng đăng tin

1.3 Mô Tả Use Cases

hệ thống.

nhật và giớI thiệu công ty

tìm ứng viên phù hợp

cty bật tắt chế độ đăng tin.

Quản lý thông tin cá nhân

ứng tuyển vào cty

Bảng 3.2.3.1

2.2.Chức năng chính

Ứng dụng tìm kiếm việc làm là một ứng dụng di động được phát triển bằng ngôn ngữ Kotlin trên nền tảng Android Studio Ứng dụng cung cấp một giao diện người dùng hiện đại và thân thiện, giúp người dùng tìm kiếm và khám phá các cơ hội việc làm phù hợp với nhu cầu của họ.

Trang 28

Chức năng chính của ứng dụng bao gồm:

Chức năng

Đăng nhập/Đăng xuất Quản lý thông tin cá nhân Cập nhật công ty

Đăng tin tuyển dụng Quản lý công ty

Thông báo khi có ai ứng tuyển Xem hồ sơ người ứng tuyển Cập nhật thông tin cá nhân.

Người dùng có thể đăng nhập vào ứng dụng bằng tài khoản đã đăng ký hoặc sử dụng các tài khoản mạng xã hội như Google.

Ứng dụng cung cấp giao diện đăng nhập bảo mật với các trường nhập thông tin như tên đăng nhập và mật khẩu.

Người dùng có thể chọn chức năng "Lưu tài khoản" để tiện lợi cho lần đăng nhập sau.

Dưới đây là giao diện và mô tả cách người dùng và hệ thống tương tác với nhau để thực hiện chức năng đăng nhập:

Trang 29

0.iHình 3.2.1.1

Use Case Description

Use case name: Đăng Nhập

Use case ID: UC01

Actor(s): Nhà tuyển dụng, ứng viên

Description: Nhà tuyển dụng, ứng viên cần phải đăng nhập để sử dụng chức năng của ứng dụng.

Trigger: Nhà tuyển dụng, ứng viên thực hiện đăng nhập, nhấn vào

Ngày đăng: 15/04/2024, 13:55

Tài liệu cùng người dùng

Tài liệu liên quan