Ứ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..
NỘI DUNG
Vấn đề cần giải quyết:
Đề tài này tập trung vào việc phát triển một ứng dụng tìm việc làm đa chức năng, bao gồm các tính năng như tìm kiếm việc làm, quản lý CV và phản hồi Mục tiêu chính là mang đến cho người dùng trải nghiệm tìm kiếm việc làm trực tuyến tối ưu, đồng thời hỗ trợ các công ty trong việc tối ưu hóa quy trình nhân sự và tăng cường sự 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:
Ứng dụng tìm việc làm cho phép người dùng đăng ký tài khoản cá nhân và gửi CV để ứng tuyển Với tính năng cập nhật thường xuyên các công việc mới nhất, ứng dụng giúp người dùng dễ dàng tìm kiếm những cơ hội việc làm phù hợp nhất.
- Đ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ận lợ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.
CƠ SỞ LÝ THUYẾT
Khái quát đề tài
Vấn đề cần giải quyết:
Đề tài này tập trung vào việc phát triển một ứng dụng tìm việc làm đa chức năng, bao gồm các tính năng tìm kiếm, quản lý CV và phản hồi Mục tiêu chính là mang đến cho người dùng trải nghiệm tìm việc trực tuyến tối ưu, đồng thời hỗ trợ các công ty trong việc tối ưu hóa quy trình nhân sự và nâng cao sự 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:
Ứng dụng tìm việc làm cho phép người dùng tìm kiếm việc làm trực tuyến bằng cách đăng ký tài khoản cá nhân và gửi CV qua chức năng ứng tuyển Ứng dụng sẽ liên tục cập nhật các công việc mới nhất, giúp người dùng dễ dàng tìm kiếm và lựa chọn những công việc phù hợp nhất với nhu cầu của mình.
- Đ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ận lợ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.
Thông qua việc phát triển và tối ưu hóa chức năng của ứng dụng tìm việc làm, các công ty không chỉ thu hút thêm nhân sự mà còn nâng cao trải nghiệm tìm việc hiệu quả Bên cạnh đó, việc cung cấp cho Admin các công cụ quản lý mạnh mẽ sẽ giúp họ duy trì và cải thiện chất lượng dịch vụ trực tuyến trong thị trường cạnh tranh.
Giới thiệu ngôn ngữ và công nghệ sử dụng
Kotlin là một ngôn ngữ lập trình tĩnh, hoạt động trên JVM (Java Virtual Machine) và có khả năng 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 Được phát triển bởi JetBrains, Kotlin đã chính thức ra mắt vào năm 2016.
Kotlin là ngôn ngữ lập trình đa mục đích, hỗ trợ phát triển ứng dụng từ đơn giản đến phức tạp trên nhiều nền tảng, bao gồm JVM, Android và JavaScript.
Kotlin mang lại sự an toàn và dễ sử dụng với các tính năng nổi bật như kiểm tra kiểu tĩnh và xử lý ngoại lệ thông qua các kiểu nullable và non-nullable Cú pháp gọn gàng của nó giúp giảm thiểu lỗi, đồng thời nâng cao tính bảo mật trong quá trình phát triển ứng dụng.
2.1.4 Ưu nhược điểm của KOTLIN a Ưu điểm của KOTLIN
Kotlin là ngôn ngữ chính thức được Google hỗ trợ cho phát triển ứng dụng Android, mang lại nhiều tính năng và công cụ ưu việt cho việc phát triển ứng dụng di động Tuy nhiên, cũng tồn tại một số nhược điểm cần lưu ý khi sử dụng Kotlin.
Kotlin có nhược điểm là kích thước tệp tin sau khi biên dịch thường lớn hơn Java, điều này có thể ảnh hưởng đến thời gian tải và hiệu suất ứ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
Kotlin là ngôn ngữ lập trình đa nền tảng do JetBrains phát triển, được công bố lần đầu vào năm 2011 và ra mắt phiên bản chính thức 1.0 vào năm 2016 Ngôn ngữ này được hỗ trợ chính thức trong IntelliJ IDEA và trở thành ngôn ngữ chính cho phát triển ứng dụng Android từ năm 2017 Các phiên bản tiếp theo của Kotlin đã mang lại nhiều cải tiến và tính năng mới, giúp nó ngày càng phổ biến trong cộng đồng phát triển phần mềm.
2.1.7 Ví dụ và kết quả
2.2 TÌM HIỂU VỀ ANDROID STUDIO
Android Studio là một IDE do Google phát triển, chuyên dụng cho việc tạo ứng dụng di động Android Nó cung cấp nhiều công cụ và tài nguyên hỗ trợ lập trình viên trong việc xây dựng, kiểm thử và triển khai ứng dụng một cách hiệu quả.
2.2.2 Vai trò của ANDROID STUDIO
Android Studio là một môi trường phát triển tích hợp (IDE) lý tưởng cho lập trình ứng dụng Android, cung cấp giao diện người dùng trực quan cùng với các công cụ hỗ trợ hiệu quả để phát triển, chỉnh sửa, gỡ lỗi và triển khai ứng dụng.
Android Studio, IDE chính thức của Google ra mắt vào năm 2013, hỗ trợ phát triển ứng dụng di động Android Dựa trên nền tảng IntelliJ IDEA, nó cung cấp môi trường phát triển tích hợp mạnh mẽ cho lập trình, biên dịch, tạo giao diện người dùng, kiểm thử và gỡ lỗi ứng dụng Hỗ trợ cả Java và Kotlin, Android Studio cho phép nhà phát triển lựa chọn ngôn ngữ lập trình ưa thích Ngoài ra, nó tích hợp các công cụ như Android SDK, Gradle và thư viện Android, nâng cao năng suất và hiệu quả phát triển Kể từ khi ra mắt, Android Studio đã trở thành công cụ thiết yếu cho nhà phát triển Android và liên tục được cải tiến để đáp ứng nhu cầu của cộng đồng.
Firebase là nền tảng phát triển ứng dụng di động và web do Google phát triển, cung cấp dịch vụ đám mây đa dạng giúp xây dựng và quản lý ứng dụng 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, là một công cụ phát triển ứng dụng di động nhanh chóng Sau khi Google mua lại vào năm 2014, Firebase đã trở thành một phần của Google Cloud Platform và không ngừng phát triển Với nhiều tính năng nổi bật như Firebase Realtime Database, Firebase Authentication, Firebase Cloud Messaging, Firebase Cloud Functions và Firebase Performance Monitoring, Firebase đã trở thành một trong những công cụ phát triển ứng dụng đám mây phổ biến nhất Được hàng triệu nhà phát triển tin dùng, Firebase liên tục được cải tiến để đá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ì?
Firebase mang đến giao diện người dùng thân thiện, giúp các nhà phát triển dễ dàng làm quen và nhanh chóng bắt đầu xây dựng ứng dụng mà không cần kiến thức sâu về hạ tầng phức tạp.
Firebase Realtime Database cung cấp khả năng đồng bộ và truy cập dữ liệu theo thời gian thực, giúp các ứng dụng hiển thị thông tin mới nhất ngay khi có cập nhật.
Firebase Realtime Database có một số hạn chế, bao gồm việc không hỗ trợ truy vấn phức tạp và khả năng mở rộng hạn chế Những yếu tố này có thể gây khó khăn trong việc quản lý dữ liệu phức tạp và quy mô lớn.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ CƠ SỞ DỮ LIỆU
Biểu đồ
Hì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
Hình 4 Biểu đồ hoạt động chức năng thêm CV
Hình 5 Biểu đồ tuần tự chức năng tìm sản phẩm
Hình 6 Biểu đồ tuần tự chức năng xem công việc
Mô tả chi tiết các use case
Use case này cho phép người dùng có thể tạo tài khoản để đăng nhập vào ứng dụng
1 Use case này bắt đầu khi mở ứng dụng và chọn vào “chưa có tài khoản” Hệ thống sẽ hiển thị màn hình yêu cầu nhập thông tin đăng ký bao gồm: Email, mật khẩu, nhập lại mật khẩu
2 Khách hàng nhập các thông tin trên và nhấn nút đăng ký Hệ thống kiểm tra thông tin email nhập vào, thêm database và màn hình hiển thị form đăng nhập kèm theo thông báo đăng ký thành công Use case kết thúc.
1 Tại luồng cơ bản nếu người dùng nhập thông tin không hợp lệ hoặc email đã tồn tại thì hệ thống hiển thị thông báo lỗi và yêu cầu nhập lại.
Người dùng đăng ký thành công hoặc thoát Use case kết thúc.
Tiền điều kiện: Không có.
Hậu điều kiện: Khách hàng đăng ký thành công tài khoản.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case này cho phép thành viên (admin, khách) đăng nhập vào hệ thống.
1 Use case này bắt đầu khi mở ứng dụng Hệ thống sẽ hiển thị màn hình yêu cầu nhập email và mật khẩu.
2 Thành viên nhập email và mật khẩu, nhấn nút đăng nhập Hệ thống kiểm tra email, mật khẩu, quyền trong database để hiển thị form tương ứng cho thành viên đăng nhập Use case kết thúc.
1 Tại luồng cơ bản nếu người dùng nhập sai email và mật khẩu hệ thống hiển thị thông báo sai email hoặc mật khẩu và yêu cầu nhập lại Thành viên tiếp tục nhập lại hoặc thoát Use case kết thúc.
Tiền điều kiện: Thành viên chưa đăng nhập vào hệ thống.
Hậu điều kiện: Thành viên đã đăng nhập thành công và sử dụng chức năng hệ thống tương ứng với tài khoản.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case này cho phép admin có thể thêm, sửa, xóa sản phẩm của hệ thống
1 Use case này bắt đầu khi người dùng (admin) nhấn danh sách công việc trong mục dữ liệu, hệ thống hiển thị danh sách các công việc trong bảng table_jobs lên màn hình.
2 Thêm công việc: Khi người admin nhấn chức năng thêm sản phẩm thì form thêm sản phẩm hiển thị, người dùng nhập thông tin sản phẩm (tên công việc, tên công ty, tiền lương, khu vực, mô tả công việc), các thông số công việc và nhấn nút “Thêm”, hệ thống kiểm tra thông tin và thêm vào bảng table_jobs, cập nhật lại danh sách và hiển thị Use case kết thúc.
3 Sửa công việc: Khi người admin nhấn vào một công việc trong danh sách, form sửa công việc hiển thị, người admin sửa lại thông tin công việc (tên công việc, tên công ty, tiền lương, khu vực, mô tả công việc), hệ thống kiểm tra thông tin và cập nhật lại sản phẩm trong bảng table_jobs, cập nhật lại danh sách hiển thị Use case kết thúc.
4 Xóa sản phẩm: Khi người admin giữ lâu vào một công việc trong danh sách, form xác nhận xóa hiển thị, hệ thống cập nhật trạng thái sản phẩm trong bảng table_jobs và hiển thị lại danh sách Use case kết thúc.
1 Tại luồng cơ bản 2 nếu thông tin nhập không hợp lệ hệ thống sẽ thông báo lỗi vài yêu cầu nhập lại, nhập lại tiếp tục hoặc nhấn thoát Use case kết thúc.
2 Tại luồng cơ bản 3 nếu thông tin nhập không hợp lệ hệ thống sẽ thông báo lỗi vài yêu cầu nhập lại, nhập lại tiếp túc hoặc nhấn thoát Use case kết thúc.
3 Tại luồng cơ bản 4 nếu trạng thái công việc bằng 0 thì chức năng xóa sẽ không hiển thị.
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền admin
Hậu điều kiện: Admin đã cập nhật công việc thành công.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng : Không có.
Use case này cho phép người dùng quản lí CV.
1 Use case này bắt đầu người dùng chọn mục “tài khoản” Hệ thống sẽ hiển thị thông tin người dùng và danh sách CV trong bảng table_cv.
2 Thêm CV: Người dùng nhấn vào chức năng “thêm CV” ở nút chức năng, hệ thống sẽ cho người dùng chọn một CV từ thiết bị và thêm vào danh sách CV của người dùng.
1 Tại luồng cơ bản nếu người dùng chuyển sang chức năng khác Use case kết thúc
Tiền điều kiện: Tài khoản phải đăng nhập là người dùng
Hậu điều kiện: Người dùng đã thêm CV thành công.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case này cho phép người dùng ứng tuyển vào công việc đã tìm được.
1 Use case này bắt đầu người dùng nhấn vào nút ứng tuyển trong chi tiết công việc Hệ thống sẽ hiển thị danh sách CV của người dùng đã thêm.
Tiền điều kiện: Trong danh sách CV phải có CV và người dùng phải đã đăng nhập.
Hậu điều kiện: Không có.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case này cho phép admin xem danh sách người dùng.
Use case này bắt đầu khi admin nhấn vào nút danh sách người dùng trong menu, hệ thống hiển thị danh sách người dùng trong database lên màn hình
Khi admin nhấn nút thoát thì Use case kết thúc.
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền admin Hậu điều kiện: Không có.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case này cho người dùng tìm kiếm nhanh chóng công việc mình mong muốn.
Khi khách hàng nhấn vào ô nhập thông tin tìm kiếm và nhập tên công việc, hệ thống sẽ hiển thị danh sách các công việc phù hợp ngay sau khi họ nhấn nút tìm kiếm.
- Luồng rẽ nhánh: Khi người dùng nhấn nút thoát hoặc trang chủ thì Use case kết thúc.
Tiền điều kiện: không có.
Hậu điều kiện: Không có.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Use case cho phép người dùng phản hồi về công việc
Use case này bắt đầu người dùng chọn vào nút “hỗ trợ” trong chi tiết công việc
Luồng rẽ nhánh: Nếu người dùng nhấn nút thoát thì Use case kết thúc. Tiền điều kiện: Người dùng đã đăng nhập.
Hậu điều kiện: Không có.
Các yêu cầu đặc biệt: Không có. Điểm mở rộng: Không có.
Cơ sở dữ liệu
Hình 7 Cơ sở dữ liệu
- Table_cvSubmit: chứa các CV mà người dùng đã ứng tuyển vào công việc
- Table_jobs: chứa các công việc mà admin đã thêm vào
- Table_userCV: chứa CV của người dùng khi sử dụng chức năng “thêm CV”
TRIỂN KHAI XÂY DỰNG
Chức năng ứng dụng
Ứng dụng này cung cấp giải pháp tìm việc trực tuyến hiệu quả, dễ sử dụng và đảm bảo bảo mật thông tin người dùng Người dùng có thể tìm kiếm và nộp đơn xin việc nhanh chóng, mang lại trải nghiệm tốt nhất trong quá trình tìm kiếm cơ hội nghề nghiệp.
3.1.1 Ứng dụng gồm các chức năng sau cho người dùng:
- Hiển thị danh sách công việc
- Xem các công việc theo nội dụng
- Theo dõi đơn ứng tuyển
- Xem chi tiết công việc
3.1.2 Các chức năng của admin
- Quản lý danh mục công việc
- Quản lý đơn ứng tuyển
- Phản hồi hỗ trợ người dùng
Giao diện người dùng
Hình 9 Đăng nhập và đăng ký
Hình 11 Quản lý CV người dùng
Hình 14 Ứng tuyển công việc
Hình 15 Đăng xuất tài khoản
Hình 17 Đăng nhập/ Đăng kí
Hình 20 Cập nhật công việc
Giao diện Admin
4.1.1 Những gì đã làm được
- Ứng dụng cơ bản đã có thể xem các sản phẩm, có các slide và hiệu ứng cơ bản giúp ứng dụng trở nên bắt mắt hơn.
- Có thể chạy trên thiết bị android
- Giao diện dễ sử dụng.
- Có backend, khá đầy đủ các chức năng cho người dùng có thể trải nghiệm một cách tốt nhất.
4.1.2 Những gì chưa làm được
- Chưa có tính năng chọn màu sắc, tạo CV
- Chưa có api hỗ trợ
- Thời gian có hạn cho nên chưa hoàn thành tốt các mục tiêu đề ra 4.2 Hướng phát triển
- Cải thiện tốc độ xử lí
- Cải thiện giao diện người dùng
- Triển khai marketing thương hiệu
- Viết backend và frontend với các framework khác nhau để tối ưu hóa các tính năng và giao diện người dùng