Đồ án 2: Phát triển hệ thống quản lý thuyền viên cho công ty INLACO Hải Phòng

Đồ án 2: Phát triển hệ thống quản lý thuyền viên cho INLACO Hải Phòng. Báo cáo chi tiết, đầy đủ chức năng, xây dựng bằng Java Spring Boot và React.

2024

156
0
0

Phí lưu trữ

45 Point

Tóm tắt

I. Tổng quan về Hệ thống Quản lý Thuyền viên INLACO Hải Phòng

Hệ thống quản lý thuyền viên INLACO Hải Phòng là một giải pháp công nghệ thông tin hiện đại được phát triển bởi sinh viên Trường Đại học Công nghệ Thông tin TP.HCM. Đây là đồ án tốt nghiệp nhằm tối ưu hóa quản lý nhân sự trong lĩnh vực hàng hải. Hệ thống được xây dựng trên nền tảng Spring BootReact, kết hợp cơ sở dữ liệu MongoDB để đảm bảo hiệu suất cao. Mục tiêu chính là cung cấp một giải pháp toàn diện để quản lý hồ sơ thuyền viên, lịch điều động, hợp đồng lao động và các quy trình tuyển dụng. Hệ thống này giúp công ty INLACO nâng cao hiệu quả quản lý, giảm thời gian xử lý hành chính và tăng cường quản lý tài nguyên nhân sự một cách khoa học.

1.1. Định nghĩa và phạm vi của Hệ thống Quản lý Thuyền viên

Hệ thống quản lý thuyền viên là nền tảng kỹ thuật số hỗ trợ quản lý toàn bộ vòng đời thuyền viên từ tuyển dụng đến huấn luyện. Phạm vi của hệ thống bao gồm quản lý thông tin cá nhân, lịch làm việc, điều động tàu, hợp đồng lao động và các chứng chỉ đào tạo. Hệ thống được thiết kế cho ba nhóm người dùng chính: quản trị viên, nhân viên nhân sự và chính các thuyền viên. Với kiến trúc nguyên khối (Monolith)JWT token, hệ thống đảm bảo bảo mật cao, quản lý quyền hạn tuyệt đối.

1.2. Lợi ích và ứng dụng thực tiễn

Việc triển khai hệ thống quản lý thuyền viên mang lại nhiều lợi ích thiết thực cho công ty INLACO. Đầu tiên, hệ thống tự động hóa các quy trình quản lý, giảm thiểu sai sót và tiết kiệm thời gian. Thứ hai, cung cấp báo cáo chi tiết về tình trạng nhân sự, hỗ trợ ra quyết định dữ liệu. Thứ ba, tạo cơ sở dữ liệu tập trung, dễ truy cập và quản lý thông tin thuyền viên. Hệ thống cũng hỗ trợ gửi thông báo tự động, quản lý hợp đồng điện tửlịch FullCalendar trực quan.

II. Kiến trúc Công nghệ và Công cụ Phát triển

Hệ thống quản lý thuyền viên INLACO được xây dựng trên kiến trúc hiện đại với các công nghệ open-source hàng đầu. Backend sử dụng Java Spring Boot, một framework mạnh mẽ cho phát triển ứng dụng server. Frontend được phát triển với ReactMaterial-UI, cung cấp giao diện responsivethân thiện người dùng. Cơ sở dữ liệu MongoDB cho phép lưu trữ linh hoạt và mở rộng dễ dàng. Hệ thống sử dụng Redis cho quản lý cache, tăng tốc độ xử lý. JWT token được áp dụng cho xác thựcphân quyền người dùng, đảm bảo bảo mật tối đa. NodeJSNPM hỗ trợ quản lý thư viện JavaScript, tối ưu hóa quá trình phát triển.

2.1. Stack Công nghệ Backend và Cơ sở Dữ liệu

Backend của hệ thống được xây dựng bằng Java Spring Boot, framework Java phổ biến nhất hiện nay. Spring Boot cung cấp setup nhanh chóng, dependency injectionRESTful API hỗ trợ. MongoDB được lựa chọn làm cơ sở dữ liệu chính do tính linh hoạt của NoSQL. Redis hoạt động như cache server để tăng hiệu suất hệ thống. JWT (Json Web Token) được sử dụng cho xác thực và quản lý access token/refresh token, đảm bảo an toàn dữ liệu người dùng.

2.2. Stack Frontend và Thư viện Hỗ trợ

Frontend được phát triển với React, một thư viện JavaScript dẫn đầu cho xây dựng giao diện. Material-UI cung cấp component UI sẵn có, giúp phát triển giao diện chuyên nghiệp. React Router xử lý điều hướng giữa các trang, Formik quản lý form data hiệu quả. FullCalendar hiển thị lịch điều động trực quan. React Pro Sidebar tạo menu sidebar dễ sử dụng. NodeJSNPM quản lý dependencies, giúp tối ưu hóa workflow phát triển.

III. Các Tính năng Chính của Hệ thống

Hệ thống quản lý thuyền viên INLACO cung cấp nhiều tính năng toàn diện để hỗ trợ quản lý nhân sự biển. Quản lý hồ sơ thuyền viên là nền tảng, lưu trữ thông tin cá nhân, chứng chỉ và lịch sử làm việc. Lịch điều động cho phép xem và quản lý lịch làm việc của thuyền viên trên các tàu. Quản lý hợp đồng hỗ trợ soạn thảo, ký kỹ thuật sốlưu trữ hợp đồng. Module tuyển dụng giúp đăng tin tuyển dụng, quản lý ứng viêntheo dõi quy trình. Đào tạo và chứng chỉ ghi nhận các khóa học hoàn thành của thuyền viên. Ngoài ra, hệ thống còn hỗ trợ xuất báo cáo Excel, gửi thông báo tự động và quản lý quyền người dùng.

3.1. Quản lý Hồ sơ và Điều động Thuyền viên

Tính năng quản lý hồ sơ thuyền viên cho phép lưu trữ tập trung tất cả thông tin cá nhân, chứng chỉ quốc tế, kinh nghiệm làm việc. Hệ thống hỗ trợ tìm kiếm, lọc nâng cao theo vị trí, trình độ và tình trạng. Điều động thuyền viên là tính năng quan trọng, cho phép gán thuyền viên cho các tàu, xem lịch làm việc chi tiết. FullCalendar hiển thị lịch điều động trực quan. Quản trị viên có thể tạo, chỉnh sửa, hủy điều động, tự động gửi thông báo cho thuyền viên.

3.2. Quản lý Hợp đồng Tuyển dụng và Đào tạo

Quản lý hợp đồng cho phép soạn thảo từ các template sẵn có, ký kỹ thuật sốlưu trữ PDF. Tính năng tuyển dụng hỗ trợ đăng tin tuyển dụng, quản lý ứng viên, theo dõi tiến độ tuyển dụng. Module đào tạo ghi nhận các khóa học mà thuyền viên đã hoàn thành, quản lý chứng chỉ, hạn sử dụng. Hệ thống cung cấp báo cáo chi tiết về tình trạng đào tạo, hỗ trợ quy hoạch nhân sự dài hạn.

IV. Kết quả Dự kiến và Hướng Phát triển Tương lai

Sau khi hoàn thành, hệ thống quản lý thuyền viên INLACO dự kiến mang lại kết quả đáng kể cho công ty. Tiết kiệm thời gian xử lý hành chính dự kiến từ 30-40% thông qua tự động hóa các quy trình. Giảm sai sót do quản lý tập trungkiểm soát quyền hạn rõ ràng. Tăng hiệu suất quản lý nhân sự, giúp quyết định chiến lược dựa trên dữ liệu thực. Ngoài ra, hệ thống có tiềm năng phát triển lớn, có thể mở rộng với các tính năng như quản lý lương, đánh giá hiệu suất, ứng dụng mobile cho thuyền viên. Đội phát triển cũng đề xuất tích hợp AI/Machine Learning để dự báo nhân sự, khuyến nghị vị trí phù hợp cho mỗi thuyền viên.

4.1. Kết quả Dự kiến và Ưu điểm Của Hệ thống

Hệ thống quản lý thuyền viên dự kiến giải quyết các vấn đề hiện tại của công ty INLACO. Tự động hóa quy trình giảm thời gian xử lý từ ngày xuống giờ. Dữ liệu tập trung cho phép truy cập nhanh chóng, báo cáo thời gian thực. Bảo mật cao với JWT tokenkiểm soát quyền hạn. Giao diện trực quan sử dụng ReactMaterial-UI. Khả năng mở rộng nhờ kiến trúc Spring BootMongoDB NoSQL.

4.2. Định hướng Phát triển và Đề xuất Cải tiến

Nhóm phát triển đề xuất mở rộng hệ thống với ứng dụng mobile cho thuyền viên có thể xem lịch làm việc, nhận thông báo trực tiếp. Tích hợp AI/Machine Learning để phân tích dữ liệu, dự báo nhu cầu nhân sự. Quản lý lươngbảo hiểm xã hội tích hợp trong hệ thống. Đánh giá hiệu suất tự động dựa trên dữ liệu làm việc. Tích hợp IoT trên tàu để theo dõi hoạt động thuyền viên. Nâng cấp bảo mật với two-factor authentication, audit log chi tiết cho tuân thủ quy định.

28/12/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU: Trình bày lý do chọn đề tài, mục tiêu, phạm vi, đối tượng sử dụng, phương pháp thực hiện, công nghệ sử dụng, kết quả mong đợi và các vấn đề cần tập trung giải quyết  Chương 2 – KIẾN THỨC NỀN TẢNG: Trình bày về các kiến thức nền tảng sử dụng để phục vụ cho đồ án.  Chương 3 – ĐẶC TẢ YÊU CẦU: Trình bày các yêu cầu về sản phẩm và mô hình hóa các yêu cầu đó.  Chương 4 – PHÂN TÍCH THIẾT KẾ: Trình bày các bản thiết kế của đồ án, bao gồm thiết kế hệ thống, thiết kế đối tượng, thiết kế dữ liệu và thiết kế giao diện.  Chương 5 – XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG: Trình bày về quá trình xây dựng và cách thức triển khai ứng dụng.

16  Chương 6 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN : Kết luận lại những vấn đề đã giải quyết và trình bày ở các phần trước cũng như đưa ra hướng phát triển trong tương lai và tiềm năng phát triển của hệ thống.1 Lý do chọn đề tài Công ty INLACO là một trong những công ty hàng đầu về các dịch vụ hàng hải trên nhiều lĩnh vực. Quản lý thuyền viên là một trong những hoạt động cốt lõi của các công ty vận tải biển như INLACO. Với quy mô thuyền viên lớn, việc đảm bảo rằng tất cả các thông tin cá nhân, hợp đồng, lịch làm việc, và các yêu cầu khác được quản lý một cách chính xác và hiệu quả là điều vô cùng quan trọng. Hệ thống quản lý thủ công hoặc thiếu tính tự động hóa thường dẫn đến sai sót, tốn kém thời gian và nguồn lực.

Do đó, việc xây dựng và áp dụng một hệ thống quản lý thuyền viên chuyên nghiệp, tối ưu hóa quy trình, sẽ góp phần nâng cao hiệu quả hoạt động của doanh nghiệp 1.2 Mục tiêu đề tài Xây dựng một web application hỗ trợ ba đối tượng người dùng:  Quản trị viên của công ty INALCO Hải Phòng (Admin): quản lý các thông tin của các lĩnh vực trong công ty như tuyển dụng, đào tạo, điều động và thông tin thuyền viên.  Thuyền viên của công ty INLACO Hải Phòng (Crew Member): Xem các thông tin chi tiết về các lịch điều động, cũng như các thông tin cá nhân của bản thân trên hệ thống của công ty.  Người dùng chung (General User): các ứng viên muốn xem các thông tin tuyển dụng của công ty, nộp đơn ứng tuyển hoặc cho các công ty hàng hải cần cung ứng thuyền viên gửi các yêu cầu cung ứng đến cho công ty.1 Phạm vi môi trường Triển khai web application đáp ứng đầy đủ các chức năng của ba nhóm đối tượng người dùng, đảm bảo hỗ trợ phân quyền hợp lý.2 Phạm vi chức năng  Các Use Case chung về tài khoản: 1. Quên mật khẩu 5.

Đổi mật khẩu  Các Use Case của Quản trị viên Công ty INLACO Hải phòng (Admin) 6. Chỉnh sửa role tài khoản 7. Xem danh sách thuyền viên 8. Lọc thuyền viên 9.

Tìm kiếm thuyền viên 10. Thêm thuyền viên mới 11. Xem thông tin chi tiết của thuyền viên 12. Chỉnh sửa thông tin cơ bản của thuyền viên 13.

Điều động thuyền viên 14. Xem danh sách các điều động 15. Xem/Chỉnh sửa thông tin chi tiết của điều động 16. Xuất file Excel danh sách thuyền viên được điều động 17.

Đăng thông tin tuyển dụng thuyền viên 18. Xem hồ sơ ứng tuyển thuyền viên 19. Xét duyệt hồ sơ ứng tuyển của ứng viên 20. Xem các yêu cầu cung ứng thuê thuyền viên 21.

Tạo mới hợp đồng theo mẫu 22. Thêm phụ lục hợp đồng 23. Xem thông tin chi tiết của hợp đồng (ngày ký, ngày hết hạn, giai đoạn của hợp đồng. Tìm kiếm/Lọc hợp đồng 19 25.

Tạo các khóa học đào tạo các vị trí khác nhau trên tàu 26. Xem/Chỉnh sửa thông tin các khóa học đã tạo 27. Xem danh sách các thuyền viên đang học 28. Đánh dấu thuyền viên đã hoàn thành khóa học 29.

Đóng/Mở nhận hồ sơ tuyển dung cho bài đăng tuyển dung cụ thể 30. Đóng/Mở đăng ký tham gia khóa đào tạo thuyền viên  Các Use Case của Thuyền viên Công ty INLACO Hải Phòng (Crew Member) 31. Xem thông tin tài khoản 32. Xem lịch điều động 33.

Xem các khóa đào tạo thuyền viên 34. Tìm kiếm khóa đào tạo thuyền viên 35. Đăng ký tham gia các khóa đào tạo thuyền viên  Các Use Case của Người dùng chung (General User) 36. Xem các hoạt động tuyển dụng 37.

Nộp hồ sơ ứng tuyển 38. Gửi yêu cầu thuê thuyền viên 1.3 Đối tượng sử dụng  Quản trị viên (Administrator)  Thuyền viên (Crew Member)  Người dùng chung (General User) (Bao gồm các người dùng muốn ứng tuyển vào công ty và các Hãng tàu muốn yêu cầu cung ứng nhân lực) 1.4 Phương pháp thực hiện ● Tìm hiểu các công nghệ, framework hỗ trợ xây dựng một web application như: ReactJS, MongoDB, Java Spring Boot. 20 ● Xác định yêu cầu từ phía khách hàng, từ đó phân tích tính năng cụ thể cho đề tài. Đồng thời tham khảo các thông tin trên website của công ty INLACO.

● Thiết kế: ○ Thiết kế đối tượng. ○ Thiết kế dữ liệu. ○ Thiết kế giao diện. ● Triển khai và kiểm thử.

● Hoàn thiện sản phẩm.5 Công nghệ sử dụng ● Công cụ thiết kế UI/UX: Figma. ● Ngôn ngữ sử dụng: Javascript, Java. ● Thư viện/Framework sử dụng: ○ Front-end: ReactJS. ○ Back-end: Spring Boot.

● Source Control: GitHub.6 Kết quả mong đợi ● Tìm hiêu, nắm bắt và áp dụng các công nghệ mới để hoàn thành sản phẩm đề tài. ● Xây dựng website hoàn chỉnh đáp ứng yêu cầu về giao diện và chức năng đã đề ra. ● Có thể thay đổi giao diện một cách linh động và hỗ trợ mở rộng thêm các chức năng mới cho ứng dụng để phù hợp với nhu cầu thực tiễn trong tương lai.4 Tham khảo các ứng dụng trên thị trường 1.1 VTS Quản lý tàu cá VTS.Quản lý tàu cá là một ứng dụng chuyên dụng hỗ trợ việc quản lý đội tàu cá, được phát triển với mục tiêu tối ưu hóa hiệu suất hoạt động và quản lý của ngành khai thác thủy sản. Đặc điểm nổi bật của VTS.Quản lý tàu cá:  Quản lý đội tàu: Theo dõi thông tin chi tiết của từng tàu, bao gồm tình trạng hoạt động, lịch sử bảo trì và lịch trình khai thác.

 Giám sát vị trí: Tích hợp hệ thống định vị GPS để theo dõi vị trí tàu cá theo thời gian thực.  Quản lý sản lượng: Ghi nhận và phân tích dữ liệu sản lượng khai thác để đánh giá hiệu quả hoạt động.  Báo cáo và phân tích: Cung cấp báo cáo thống kê chi tiết giúp nhà quản lý ra quyết định nhanh chóng và chính xác, hỗ trợ nhiều doanh nghiệp khai thác thủy sản nâng cao hiệu quả quản lý và tiết kiệm chi phí vận hành. Logo ứng dụng VTS.2 TMAS - Professional Marine Service TMAS là một nền tảng quản lý toàn diện được thiết kế cho các công ty hoạt động trong lĩnh vực hàng hải, với trọng tâm là việc tối ưu hóa quản lý nhân sự và vận hành.

Đặc điểm nổi bật của TMAS:  Quản lý thuyền viên: Theo dõi hồ sơ cá nhân, chứng chỉ hành nghề, và tình trạng công việc của từng thuyền viên.  Quản lý hợp đồng và lương thưởng: Đơn giản hóa quy trình tạo lập và quản lý hợp đồng lao động, đồng thời tích hợp tính năng tính toán lương thưởng minh bạch.  Điều động và lịch trình: Hỗ trợ sắp xếp lịch làm việc, phân công nhiệm vụ và theo dõi hiệu suất công việc của thuyền viên.  Quản lý đào tạo: Lập kế hoạch và theo dõi các khóa đào tạo nhằm đảm bảo thuyền viên luôn đáp ứng yêu cầu chuyên môn.

 Báo cáo quản lý: Tích hợp báo cáo thông minh, giúp ban quản lý có cái nhìn tổng quan và ra quyết định chiến lược. TMAS được đánh giá cao nhờ giao diện thân thiện và khả năng tùy biến cao, phù hợp với nhu cầu quản lý phức tạp của các công ty vận tải biển. Logo của nền tảng TMAS 23 1.3 Đánh giá Qua tham khảo các ứng dụng nêu trên, ta có thể dễ dàng nhận thấy sự quan trọng và cần thiết của một phần mềm giúp hỗ trợ các nhân sự quản trị trong việc quản lý các nghiệp vụ chính của như các thành viên của công ty. Có thể thấy, các ứng dụng đã nêu trên đều đã phần nào đáp ứng được các nhu cầu cơ bản ấy, góp phần rút ngắn thời gian và nâng cao hiệu suất làm việc của các thành viên trong công ty.5 Những vấn đề còn tồn tại Tuy nhiên, đa số các ứng dụng hoặc nền tảng trên đều hướng nhiều đến đối tượng thuyền viên công ty dưới dạng một ứng dụng mobile.

Trong khi đó, phần lớn các phần mềm quản lý hỗ trợ quản trị viên hiện nay thường là các phần mềm dạng Desktop app, với các hạn chế dễ dàng được liệt kê như: khả năng truy cập mọi lúc mọi nơi, tính tương thích và khả năng mở rộng.6 Những vấn đề cần tập trung và giải quyết  Khả năng truy cập hạn chế: Desktop app bị giới hạn bởi việc cài đặt trên từng thiết bị cụ thể và không thể sử dụng khi người dùng ở xa hoặc không có thiết bị đã được cài đặt sẵn. Web application giải quyết vấn đề này nhờ khả năng truy cập qua trình duyệt từ bất kỳ thiết bị nào có kết nối Internet.  Tính tương thích: Desktop app thường yêu cầu tùy chỉnh riêng biệt cho từng hệ điều hành (Windows, macOS, Linux) và có thể gặp lỗi khi sử dụng trên các phiên bản khác nhau. Ngược lại, Web application đảm bảo tính tương thích cao, hoạt động mượt mà trên nhiều nền tảng mà không cần thay đổi cấu trúc hệ thống.

 Khả năng mở rộng: Desktop app không dễ dàng đáp ứng khi số lượng người dùng tăng lên hoặc khi doanh nghiệp cần tích hợp thêm các tính năng mới. Trong khi đó, Web application có khả năng mở 24 rộng linh hoạt, dễ dàng tích hợp với các công nghệ mới hoặc tăng hiệu suất hệ thống để phục vụ số lượng lớn người dùng đồng thời. KIẾN THỨC NỀN TẢNG 2.1 Kiến trúc Nguyên khối (Monolith) Monolith Architecture là một kiến trúc phần mềm mà trong đó tất cả các thành phần của ứng dụng được đóng gói và triển khai như một đơn vị duy nhất. Một dự án sử dụng Kiến trúc Nguyên khối sẽ có những ưu điểm sau:  Dễ dàng phát triển, triển khai và quản lý khi bắt đầu dự án vì tất cả các phần của ứng dụng được tích hợp chặt chẽ.

 Giao tiếp giữa các thành phần trong ứng dụng diễn ra nhanh chóng vì chúng nằm trong cùng một quá trình.  Chi phí vận hành thấp.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ