Ứng dụng tìm việc làm được thiết kế và phát triển nhằm mục đích cungcấp một nền tảng linh hoạt và tiện lợi cho người tiêu dùng để tìm kiếm, chọnlựa công việc mình yêu thích bất cứ đâu..
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT – HÀN KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
-
-ĐỒ ÁN CƠ SỞ 3
Đề tài:
THIẾT KẾ & XÂY DỰNG ỨNG DỤNG TÌM VIỆC LÀM
Sinh viên thực hiện : Nguyễn Đức Huy
Giảng viên hướng dẫn : THS LÊ TỰ THANH
THS BẠCH NHƯ NGUYỆN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT – HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
-
-BÁO CÁO ĐỒ ÁN
Đề tài:
THIẾT KẾ & XÂY DỰNG ỨNG DỤNG TÌM VIỆC LÀM
Sinh viên thực hiện : Nguyễn Đức Huy
Giảng viên hướng dẫn : THS LÊ TỰ THANH
THS BẠCH NHƯ NGUYỆN
Trang 3LỜI MỞ ĐẦU
Trong thời đại công nghệ ngày nay, tìm việc làm trực tuyến đang trởthành xu hướng phổ biến Ứng dụng tìm việc làm không chỉ mang lại sự thuậntiện cho người dùng mà còn là cơ hội tìm kiếm nhân sự hấp dẫn cho các doanhnghiệp Đồng thời, sự phát triển của các công nghệ mới như trí tuệ nhân tạo, thịgiác máy tính và blockchain cũng mở ra nhiều cơ hội để tạo ra trải nghiệm tìmkiếm tốt hơn và an toàn hơn cho người dùng
Ứng dụng tìm việc làm được thiết kế và phát triển nhằm mục đích cungcấp một nền tảng linh hoạt và tiện lợi cho người tiêu dùng để tìm kiếm, chọnlựa công việc mình yêu thích bất cứ đâu Đồng thời, ứng dụng này cũng tậptrung vào việc tối ưu hóa trải nghiệm người dùng thông qua giao diện thânthiện, tính năng tìm kiếm thông minh, đánh giá từ cộng đồng người dùng, vàdịch vụ hỗ trợ khách hàng chuyên nghiệp
Với sự kết hợp giữa sự linh hoạt của nền tảng di động và sức mạnh củacác công nghệ tiên tiến, ứng dụng tìm việc làm không chỉ đơn thuần là mộtcông cụ tìm việc, mà còn là một không gian tương tác, giao lưu và chia sẻ đam
mê cho cộng đồng người đang muốn có việc làm Đồng thời, đây cũng là cơhội để các doanh nghiệp tăng cường sự hiện diện trực tuyến, xây dựng thươnghiệu và mở rộng thị trường tiềm năng
Nghiên cứu này không chỉ mang lại giá trị khoa học trong lĩnh vựcmarketing trực tuyến mà còn cung cấp thông tin hữu ích cho các doanh nghiệptương tự về cách nâng cao hiệu quả kinh doanh trong lĩnh vực việc làm Kếtquả nghiên cứu có thể hỗ trợ quyết định chiến lược và phát triển sản phẩm dựatrên phản hồi từ khách hàng, giúp cải thiện trải nghiệm công việc và tăngcường sự tin tưởng từ phía người dùng
Trang 4Tận dụng sự phát triển mạnh mẽ của công nghệ di động và internet, việcphát triển một ứng dụng tìm việc là một cách hiệu quả để đáp ứng nhu cầu ngàycàng tăng của người đang thất nghiệp, chưa có việc làm, hoặc vừa mới ratrường Bằng cách tận dụng sự phổ biến của công nghệ di động và internet,các ứng dụng này mang lại nhiều lợi ích như tiện lợi, linh hoạt, và đa dạng lựachọn cho người dùng Đồng thời, nó cũng mở ra cơ hội mới, Hiện nay nhu cầuviệc làm ngày càng tăng cao do nhiều người vừa mới ra trường, bị mất việc dorobot thay thế hay chưa có việc làm phù hợp, nhiều người có xu hướng muốntìm kiếm, so sánh công việc khác nhau thông qua hình thức trực tuyến, ngoài rađánh giá và nhận xét các công việc qua trực tuyến còn giúp người dùng chia sẻkinh nghiệm làm việc cũng thuận tiện cho việc tìm việc làm nhanh chóng vàphù hợp Vì vậy em đã chọn đề tài “Xây dựng App tìm việc làm” trên nền tảngAndroid.
Trang 5Đà Nẵng, ngày 12 tháng 5 năm 2024
Người thực hiện đồ án
Nguyễn Đức Huy
Trang 6NHẬN XÉT (Của giảng viên hướng dẫn)
….
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 7MỤC LỤC
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 4
MỤC LỤC 6
PHẦN 1: MỞ ĐẦU 6
1.1 Khảo sát sơ bộ hệ thống 6
1.2 Xác định yêu cầu hệ thống 9
1.3 Cấu trúc đồ án 11
PHẦN II NỘI DUNG 13
CHƯƠNG I CƠ SỞ LÝ THUYẾT 13
1.1 Khái quát đề tài 13
2.2 Giới thiệu ngôn ngữ và công nghệ sử dụng 14
CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ CƠ SỞ DỮ LIỆU 19
2.1 Biểu đồ 19
2.2 Mô tả chi tiết các use case 22
2.3 Cơ sở dữ liệu 27
CHƯƠNG III: TRIỂN KHAI XÂY DỰNG 28
3.1 Chức năng ứng dụng 28
3.2 Giao diện người dùng 29
3.3 Giao diện Admin 33
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .38
4.1 Kết luận 38
4.2 Hướng phát triển 38
DANH MỤC TÀI LIỆU THAM KHẢO 39
1 Tài liệu tham khảo 39
2 Tài liệu Internet 39
Trang 8Bối cảnh thực hiện đề tài:
Trong thời đại số hóa và phát triển công nghệ, tìm việc làm trựctuyến trở thành một xu hướng ngày càng phổ biến và tiện lợi Với sựtăng trưởng nhanh chóng của thị trường, các doanh nghiệp đang đặt rathách thức làm thế nào để tạo ra ứng dụng tìm việc mà không chỉ hấpdẫn mà còn hiệu quả, nhằm thu hút và tìm được nhân sự trực tuyến.Thiết kế một ứng dụng tìm việc làm không chỉ là một yếu tố chìa khóa
mà còn là quá trình không ngừng điều chỉnh và cải tiến để đáp ứngmong đợi ngày càng cao của con người, tạo ra trải nghiệm tìm việc tốtnhất và từ đó tăng cường nhân sự cho các công ty còn thiếu
Vấn đề cần giải quyết:
Vấn đề cơ bản mà đề tài này hướng đến là việc tạo ra một ứngdụng tìm việc làm chất lượng, với giao diện thiết kế hấp dẫn và thânthiện với người dùng, nhằm đáp ứng đầy đủ và vượt qua mong đợi củangười dùng Mục tiêu là cải thiện và điều chỉnh các yếu tố quan trọngnhư trải nghiệm người dùng, tương tác giao diện, tính năng, và hiệusuất ứng dụng Đồng thời, thêm những tính năng mới và cải tiến để làmcho ứng dụng trở nên thú vị và tiện lợi hơn cho người dùng, đặc biệt làtrong lĩnh vực tìm kiếm
Trang 91.1.3 Mục Tiêu
- Xây dựng ứng dụng có phần back-end có các chức năng như: Quản lý,thể loại, công việc, đơn ứng tuyển đều có các chức năng thêm sửa xóa,quản lý người dùng, thêm CV, ứng tuyển, đăng nhập, đăng kí
- Phần front-end thì xây dựng giao diện thân thiện với khách hàng có cácchức năng như: xem chi tiết công viêc, tìm kiếm, quản lí CV, đăngnhập - đăng ký
Trang 10Cân nhắc trong quá trình chuẩn bị, tránh sựtrùng lặp ý tưởng.
1.2 Xác định yêu cầu hệ thống
STT Chức năng Mô tả
1 Thiết kế giao diện Giao diện đẹp mắt, tiện lợi, dễ sử dụng
2 Ngôn ngữ Ngôn ngữ hiển thị là Tiếng Việt
- Chi tiết công việc
Được thiết kế ấn tượng, hiện đại, các chứcnăng nổi bật được hiển thị ngay tại trangchủ.Những thông tin xuất hiện trên trangchủ phụ thuộc vào sự quyết định củaadmin trong quá trình cập nhật ứng dụngcác thông tin này có thể là thông tin giớithiệu về app, hình ảnh công việc mới hayhình ảnh các dịch vụ khác
4 Quản lý thể loại, công việc,
người dùng
Cho phép xem danh sách, thêm sửa xóathể loại, công việc, người dùng
5 Tìm kiếm thông tin Cho phép tìm kiếm nội dung ứng dụng
bằng các từ khóa liên quan, hoặc tìm kiếm
Trang 11nâng cao theo các tiêu chí.
Tìm kiếm theo mã số sản phẩm, tên gọi,lọc sản phẩm bằng filter data
7
Chức năng thêm CV Sau khi công một CV đầy đủ thông tin và
đẹp thì người dùng có thể thêm nó vàodanh sách CV của tài khoản người dùng
để có thể gửi CV đó cho công ty
8
Chức năng ứng tuyển Lấy CV từ tài khoản người dùng đã thêm
vào trước đó thì sẽ ứng tuyển khi tìmđược công việc phù hợp với người dùng
và nó sẽ được hiển thị bên thông tin CVcủa admin
9
Đăng nhập Chức năng cho phép Admin, người dùng
đều có thể đăng nhập sử dụng các chứcnăng của họ
10
Đăng ký Chức năng cho phép người dùng có thể
đăng ký tài khoản cho họ để có thể đangnhập vào và sử dụng các chức năng
Bảng 1: Yêu cầu chức năng
Trang 12Tìm kiếm công việc
Xem công việc
Chương 1 Cơ sở lý thuyết: Tìm hiểu đề tài, mục tiêu, ưu - nhược
điểm và hướng phát triển của đề tài Sơ lược về KOTLIN và ANDROIDSTUDIO, FIREBASE sử dụng trong đề tài
Chương 2 Phân tích thiết kế hệ thống và giao diện: Các nghiệp
vụ hệ thống Xây dựng database, luồng sự kiện, biểu đồ Use Case, tác nhân liên quan đến hệ thống, mô hình dữ liệu, cơ sở dữ liệu
Chương 3 Triển khai xây dựng ứng dụng: Trình bày sản phẩm
Trang 13Chương 4 Kết luận và hướng phát triển: Kết quả đạt được sau
khi hoàn thiện sản phẩm Chỉ ra những điều làm được, chưa làm được vàhướng phát triển của hệ thống
Trang 14PHẦN II NỘI DUNG CHƯƠNG I CƠ SỞ LÝ THUYẾT
1.1 Khái quát đề tài
Vấn đề cần giải quyết:
Vấn đề cơ bản của đề tài này là xây dựng một ứng dụng tìm việc làmvới nhiều chức năng hữu ích, bao gồm tìm kiếm, quản lý CV, phảnhồi, Mục tiêu là cung cấp cho người dùng một trải nghiệm tìm côngviệc trực tuyến hoàn hảo, đồng thời giúp công ty tối ưu hóa nhân sự vàtăng cường tương tác với người dùng
1.1.1 Phân tích yêu cầu đề tài và nhu cầu người dùng:
- Yêu cầu của đề tài xây dựng một ứng dụng tìm việc làm, người dùng
có thể tìm việc online qua mạng bằng cách đăng ký tài khoản cá nhân.Gửi CV của người dùng qua chức năng ứng tuyển Ứng dụng sẽ thườngxuyên cập nhật các công việc mới nhất, thuận tiện nhất cho người dùng.Người dùng có thể dễ dàng tìm kiếm các công việc phù hợp
- Điều tra và hiểu rõ nhu cầu tìm việc trực tuyến của người dùng
- Xác định các yếu tố quyết định sự tiện lợi trong quá trình tìm việc
1.1.2 Thiết kế Giao Diện Người Dùng (UI) và Trải Nghiệm Người Dùng (UX):
- Xây dựng giao diện trực quan và thân thiện với người dùng
- Tối ưu hóa trải nghiệm để làm cho quá trình tìm kiếm trở nên thuậnlợi
1.1.3 Phát triển Chức Năng Ứng Tuyển:
- Tích hợp chức năng hỗ trợ việc ứng tuyển tốt hơn
- Xác định và triển khai các phương thức thay đổi
1.1.6 Phát triển Giao diện và Chức năng cho Admin:
- Xây dựng giao diện quản trị dễ sử dụng cho việc quản lý đơn CV,công việc và thông tin người dùng
- Tích hợp công cụ quản lý dễ dàng và báo cáo hiệu suất úng dụng
Trang 151.1.7 Kết quả mong đợi:
Kỳ vọng rằng thông qua việc phát triển và tối ưu hóa các chức năngtrên ứng dụng tìm việc làm, các công ty sẽ không chỉ có thêm nhân sự
mà còn tạo ra một trải nghiệm tìm việc đẳng cấp và hiệu quả Đồngthời, cung cấp cho Admin các công cụ quản lý mạnh mẽ giúp họ duy trì
và nâng cao chất lượng dịch vụ trực tuyến của mình trong thị trườngcạnh tranh
2.2 Giới thiệu ngôn ngữ và công nghệ sử dụng
2.2.1 Tìm hiểu về KOTLIN
Kotlin là ngôn ngữ lập trình kiểu tĩnh, chạy trên JVM (JavaVirtual Machine) và có thể được biên dịch sang mã nguồn Java hoặc sửdụng cơ sở hạ tầng trình biên dịch LLVM Ngôn ngữ này được pháttriển bởi JetBrains và chính thức ra mắt vào năm 2016
2.1.2 Vai trò của KOTLIN
Kotlin là một ngôn ngữ lập trình đa mục đích, cho phép bạn pháttriển các ứng dụng từ đơn giản đến phức tạp trên nhiều nền tảng nhưJVM, Android, và cả JavaScript
2.1.3 Đặc điểm của KOTLIN
An toàn và dễ sử dụng: Kotlin có các tính năng như kiểm tra kiểutĩnh, xử lý ngoại lệ thông qua nullable và non-nullable types, và cú phápgọn gàng giúp giảm thiểu lỗi và tăng tính bảo mật trong quá trình pháttriển
2.1.4 Ưu nhược điểm của KOTLIN
a Ưu điểm của KOTLIN
Hỗ trợ Android: Kotlin là ngôn ngữ chính thức được Google hỗ trợ trong việc phát triển ứng dụng Android Nó cung cấp tính năng và công
cụ tốt hơn để phát triển ứng dụng di động trên nền tảng Android
Trang 16b Nhược điểm của KOTLIN
Kích thước tệp tin: Một nhược điểm của Kotlin là kích thước tệp tin saukhi biên dịch có thể lớn hơn so với Java Điều này có thể gây ảnh hưởng đến thời gian tải và hiệu suất của ứng dụng, đặc biệt trên các thiết bị có tài nguyên hạn chế
2.1.5 Cấu trúc cơ bản KOTLIN
2.1.6 Lịch sử của KOTLIN
Kotlin là một ngôn ngữ lập trình đa nền tảng được phát triển bởiJetBrains Nó được công bố lần đầu vào năm 2011 và phiên bản chínhthức 1.0 ra mắt vào năm 2016 Kotlin được hỗ trợ chính thức trong môitrường phát triển IntelliJ IDEA của JetBrains và trở thành ngôn ngữchính thức cho phát triển ứng dụng Android vào năm 2017 Các phiên
Trang 17bản sau đó của Kotlin đem đến nhiều cải tiến và tính năng mới, và ngônngữ ngày càng được sử dụng rộng rãi trong cộng đồng phát triển phầnmềm.
2.1.7 Ví dụ và kết quả
Ví dụ
Trang 182.2 TÌM HIỂU VỀ ANDROID STUDIO
2.2.1 ANDROID STUDIO là gì?
Android Studio là một môi trường phát triển tích hợp (IntegratedDevelopment Environment - IDE) được phát triển bởi Google dànhriêng cho việc phát triển ứng dụng di động Android Nó cung cấp mộtloạt các công cụ và tài nguyên để giúp nhà phát triển xây dựng, kiểm thử
và triển khai ứng dụng Android một cách thuận tiện
2.2.2 Vai trò của ANDROID STUDIO
Môi trường phát triển tích hợp (IDE): Android Studio cung cấp mộtmôi trường phát triển tích hợp cho việc lập trình ứng dụng Android Nócung cấp giao diện người dùng trực quan và các công cụ hỗ trợ để pháttriển, chỉnh sửa, gỡ lỗi và triển khai ứng dụng Android
2.2.3 Lịch sử phát triển
Android Studio là một IDE chính thức được Google công bố vàonăm 2013 để hỗ trợ phát triển ứng dụng di động Android Với sự xâydựng trên nền tảng IntelliJ IDEA, Android Studio cung cấp môi trườngphát triển tích hợp mạnh mẽ cho việc lập trình, biên dịch, tạo giao diệnngười dùng, kiểm thử và gỡ lỗi ứng dụng Android Nó hỗ trợ cả Java vàKotlin, cho phép nhà phát triển sử dụng ngôn ngữ lập trình ưa thích củamình Android Studio cũng tích hợp các công cụ hỗ trợ như AndroidSDK, Gradle và các thư viện Android, giúp tăng năng suất và hiệu quảtrong quá trình phát triển Từ khi ra mắt, Android Studio đã trở thànhmột công cụ không thể thiếu cho nhà phát triển Android và tiếp tục đượccải tiến và phát triển để đáp ứng nhu cầu ngày càng cao của cộng đồngphát triển ứng dụng Android
2.3 FIREBASE
2.3.1 FIREBASE là gì?
Trang 19Firebase là một nền tảng phát triển ứng dụng di động và web doGoogle phát triển Nó cung cấp một tập hợp các dịch vụ đám mây để xâydựng và quản lý ứng dụng di động và web một cách nhanh chóng và dễdàng.
2.3.2 Lịch sử phát triển của FIREBASE
Firebase được thành lập vào năm 2011 bởi James Tamplin vàAndrew Lee như một công cụ phát triển ứng dụng di động nhanhchóng Sau khi được mua lại bởi Google vào năm 2014, Firebase trởthành một phần của Google Cloud Platform và tiếp tục phát triển Vớiviệc bổ sung các tính năng và tích hợp vào hệ sinh thái của Google,Firebase trở thành một trong những công cụ phát triển ứng dụng đámmây phổ biến nhất Các tính năng của Firebase bao gồm FirebaseRealtime Database, Firebase Authentication, Firebase CloudMessaging, Firebase Cloud Functions và Firebase PerformanceMonitoring Với hàng triệu nhà phát triển sử dụng nó, Firebase tiếp tụcđược cải tiến và mở rộng để đáp ứng nhu cầu phát triển ứng dụng diđộng và web
2.3.3 Ưu điểm và nhược điểm của FIREBASE là gì?
2.3.3.1 Ưu điểm FIREBASE
Dễ sử dụng: Firebase cung cấp một giao diện người dùng thânthiện và dễ sử dụng, giúp các nhà phát triển nhanh chóng làm quen vàbắt đầu xây dựng ứng dụng mà không cần có kiến thức sâu về hạ tầngphức tạp
Thời gian thực: Firebase Realtime Database cho phép đồng bộ vàtruy cập dữ liệu thời gian thực, cho phép các ứng dụng hiển thị thôngtin mới nhất ngay khi nó được cập nhật
2.3.3.2 Nhược điểm FIREBASE
Hạn chế của cơ sở dữ liệu thời gian thực: Firebase RealtimeDatabase có một số hạn chế như không hỗ trợ truy vấn phức tạp và khả
Trang 20năng mở rộng hạn chế Điều này có thể làm cho việc làm việc với dữliệu phức tạp và quy mô lớn trở nên khó khăn.
CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ
Trang 21Hình 2 Biểu đồ hoạt động chức năng tìm kiếm
Hình 3 Biểu đồ hoạt động chức năng xem chi tiết công việc
Trang 22Hình 4 Biểu đồ hoạt động chức năng thêm CV
2.1.3 Biểu đồ tuần tự
Hình 5 Biểu đồ tuần tự chức năng tìm sản phẩm