Lĩnh vực hoạt động NCC chuyên hoạt động trong lĩnh vực gia công phần mềm công nghệ thông tin, tậptrung vào việc: - Phát triển phần mềm theo yêu cầu.. Mỗi giai đoạn đều có mục tiêu và các
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO KẾT QUẢ THỰC TẬP TỐT NGHIỆP
Đề tài: Website tìm kiếm việc làm IT
Sinh viên thực hiện: Lê Đình Nhật
Cơ sở thực tập: Công Ty Cổ Phần NCCPLUS Việt Nam - Chi nhánh Quy Nhơn
Địa chỉ: Tầng 3 toà Bihecco, 307 Nguyễn Thị Minh Khai,
phường Nguyễn Văn Cừ, TP Quy Nhơn, Bình ĐịnhNgười hướng dẫn: Trịnh Duy Kiên - Ths Trần Hoàng Việt
BÌNH ĐỊNH, 2025
Trang 2LỜI CẢM ƠN
Trong suốt quá trình học tập và thực tập, em đã nhận được sự hướng dẫn tận tình từ quý thầy cô Trường Đại học Quy Nhơn cùng sự hỗ trợ nhiệt tình từ Công Ty
Cổ Phần NCCPLUS Việt Nam Em xin gửi lời cảm ơn chân thành đến tất cả quý thầy
cô và anh chị đã đồng hành cùng em trong suốt chặng đường vừa qua
Đặc biệt, em xin cảm ơn Công Ty Cổ Phần NCCPLUS Việt Nam đã tạo điều kiện cho em thực tập trong môi trường chuyên nghiệp, năng động, giúp em áp dụng kiến thức vào thực tế và trau dồi kỹ năng cần thiết cho công việc sau này Em rất trân trọng sự hướng dẫn, hỗ trợ tận tình từ các anh chị trong công ty trong suốt quá trình thực tập
Em cũng xin gửi lời tri ân sâu sắc đến quý thầy cô Trường Đại học Quy Nhơn, đặc biệt là quý thầy cô Khoa Công nghệ Thông tin, những người đã tận tâm truyền đạt cho em kiến thức, kỹ năng quý giá và luôn đồng hành, động viên em trong quá trình học tập và thực tập
Quá trình thực tập lần này không chỉ giúp em nâng cao chuyên môn mà còn bồi dưỡng tinh thần làm việc chuyên nghiệp và kỹ năng mềm – những yếu tố quan trọng cho hành trang sự nghiệp sau này
Một lần nữa, em xin chân thành cảm ơn Công Ty Cổ Phần NCCPLUS Việt Nam và quý thầy cô Trường Đại học Quy Nhơn Kính chúc quý công ty ngày càng phát triển bền vững, quý thầy cô luôn mạnh khỏe và thành công
Em xin chân thành cảm ơn!
Bình Định, ngày 27 tháng 4 năm 2025
Sinh viên thực hiện
Lê Đình Nhật
Trang 3Nhận xét của giảng viên
Bình Định, ngày…tháng…năm 2025
Giảng viên
ThS Trần Hoàng Việt
Trang 4MỤC LỤC
LỜI CẢM ƠN 2
Nhận xét của giảng viên 3
I Giới thiệu chung 5
II Báo cáo kết quả tìm hiểu môi trường làm việc 6
1 Tổng quan về Công ty Cổ Phần NCCPLUS Việt Nam 6
2 Mô hình tổ chức và văn hóa làm việc 7
3 Quy trình phát triển phần mềm tại công ty 8
III Nội dung công việc thực tập 11
1 Phân tích và xây dựng website tìm kiếm việc làm 11
2 Các nhiệm vụ cụ thể được phân công 14
IV Phương pháp thực hiện 15
1 Thu thập yêu cầu, phân tích nghiệp vụ 15
2 Thiết kế giao diện và xây dựng hệ thống 16
3 Công nghệ và công cụ sử dụng 17
V Kết quả đạt được 18
1 Các chức năng website đã hoàn thành 18
2 Demo giao diện và chức năng thực tế 19
VI Kiến thức lý thuyết được củng cố 23
VII Kỹ năng thực hành đã học hỏi được 23
VIII Kinh nghiệm thực tiễn tích lũy 23
IX Kết luận 24
Trang 5
I Giới thiệu chung
1 Giới thiệu về Công ty Cổ Phần NCCPLUS Việt Nam
Công ty Cổ Phần NCCPLUS Việt Nam (NCC) là một trong những doanh nghiệp uy tín trong lĩnh vực cung cấp dịch vụ gia công phần mềm công nghệ thông tin tại Việt Nam Thành lập từ năm 2014, trải qua quá trình phát triển không ngừng,NCC đã nhanh chóng khẳng định vị thế của mình trên thị trường trong nước và quốc tế
Với đội ngũ nhân sự giàu kinh nghiệm, kết hợp cùng việc ứng dụng công nghệ tiên tiến và giải pháp sáng tạo, NCC cam kết cung cấp những dịch vụ chất lượng cao, góp phần thúc đẩy công cuộc chuyển đổi số cho khách hàng trên toàn thế giới
2 Lĩnh vực hoạt động
NCC chuyên hoạt động trong lĩnh vực gia công phần mềm công nghệ thông tin, tậptrung vào việc:
- Phát triển phần mềm theo yêu cầu
- Cung cấp giải pháp công nghệ thông tin toàn diện
- Tư vấn và triển khai chuyển đổi số cho doanh nghiệp
Công ty luôn tận dụng sự kết hợp giữa nguồn nhân lực chất lượng cao và công nghệ hiện đại để mang lại những sản phẩm, dịch vụ tối ưu nhất cho khách hàng
3 Mục tiêu phát triển
NCC hướng tới mục tiêu trở thành một trong những công ty gia công phần mềmhàng đầu thế giới Công ty không ngừng phấn đấu để trở thành đối tác chiến lược, tin cậy của nhiều doanh nghiệp hàng đầu trên toàn cầu trong đa dạng các lĩnh vực
Trang 64 Giá trị cốt lõi
- Đam mê và trách nhiệm: NCC luôn thực hiện công việc với tinh thần đam
mê và trách nhiệm cao nhất
- Minh bạch và tin cậy: Mọi hoạt động đều dựa trên sự minh bạch và xây dựng niềm tin bền vững với khách hàng
- Chất lượng cao: Sản phẩm và dịch vụ luôn đạt tiêu chuẩn chất lượng quốc tế
- Phát triển quan hệ lâu dài: Luôn đặt mối quan hệ khách hàng làm trọng tâm, xây dựng sự gắn kết lâu dài và hiệu quả
5 Địa chỉ văn phòng
- Trụ sở chính: Tầng 6, CT1 - C14 Bắc Hà, đường Tố Hữu, phường Trung Văn, quận Nam Từ Liêm, Hà Nội
- Hà Nội 2: Tầng 7, IDS Building, 8 Phạm Hùng, Nam Từ Liêm, Hà Nội
- Hà Nội 3: Tầng 5, Hồng Hà Tower, 89 Thịnh Liệt, Hoàng Mai, Hà Nội
- Đà Nẵng: Tầng 3, TP Building, 268 Đường 30/4, Hòa Cường, Hòa Cường Bắc, Hải Châu, Đà Nẵng
- Vinh: Tầng 4, 138 Hà Huy Tập, Vinh, Nghệ An
- Quy Nhơn: Tầng 3, Tòa nhà Bihecco, 307 Nguyễn Thị Minh Khai, Quy Nhơn, Bình Định
- Sài Gòn: Lầu 4, STA Building, 118 Phạm Văn Đồng, Hiệp Bình Chánh, Thủ Đức, Hồ Chí Minh
II Báo cáo kết quả tìm hiểu môi trường làm việc
1 Tổng quan về Công ty Cổ Phần NCCPLUS Việt Nam
Công ty Cổ Phần NCCPLUS Việt Nam (NCCPLUS) là doanh nghiệp hàng đầu trong lĩnh vực công nghệ thông tin và dịch vụ số, chuyên cung cấp các giải pháp công nghệ hiện đại và dịch vụ tuyển dụng nhân sự IT chất lượng cao Thành lập
Trang 7vào năm 2014, NCCPLUS đã nhanh chóng xây dựng được nền tảng vững chắc, kếtnối những tài năng IT với các doanh nghiệp thông qua các dịch vụ tuyển dụng, đào tạo và tư vấn công nghệ.
Với mục tiêu giúp các công ty tìm kiếm nhân sự phù hợp, NCCPLUS cung cấp nền tảng trực tuyến và các chương trình kết nối chuyên sâu, hỗ trợ ứng viên và nhà tuyển dụng trong quá trình tìm kiếm và tuyển chọn Công ty cam kết mang lại giá trị gia tăng cho khách hàng thông qua các giải pháp tối ưu hóa quy trình tuyển dụng, giúp các doanh nghiệp đạt được hiệu quả cao trong việc lựa chọn nhân sự
2 Mô hình tổ chức và văn hóa làm việc
Mô hình tổ chức:
Mô hình tổ chức của NCCPLUS được xây dựng theo cấu trúc phân cấp, với các bộ phận chuyên môn rõ ràng, giúp tối ưu hóa quy trình làm việc và đảm bảo sự phối hợp nhịp nhàng giữa các phòng ban Mô hình tổ chức của công ty bao gồm:
- Ban Giám Đốc: Chịu trách nhiệm điều hành chung và đưa ra các quyết định chiến lược của công ty
- Phòng Nhân Sự: Chuyên môn về tuyển dụng, đào tạo, phát triển đội ngũ nhân viên, cũng như xây dựng các chính sách đãi ngộ
- Phòng Kinh Doanh: Đảm nhiệm công việc tìm kiếm khách hàng, phát triển thị trường và duy trì mối quan hệ với đối tác
- Phòng Công Nghệ: Chịu trách nhiệm về việc phát triển và bảo trì nền tảng công nghệ của công ty, nghiên cứu các giải pháp công nghệ mới để phục vụ khách hàng
- Phòng Marketing: Tập trung vào xây dựng thương hiệu, quảng bá dịch vụ vàthu hút khách hàng thông qua các chiến dịch truyền thông
Trang 8Văn hóa làm việc:
NCCPLUS tự hào về một môi trường làm việc chuyên nghiệp, năng động và sáng tạo Công ty khuyến khích nhân viên phát huy tối đa khả năng sáng tạo, chia sẻ ý tưởng và học hỏi không ngừng Các giá trị cốt lõi của NCCPLUS bao gồm:
- Tôn trọng và hợp tác: Môi trường làm việc tại NCCPLUS luôn chú trọng đến sự tôn trọng giữa các cá nhân, khuyến khích làm việc nhóm và chia sẻ kiến thức
- Sáng tạo và đổi mới: Công ty khuyến khích nhân viên đưa ra những sáng kiến, ý tưởng mới để cải tiến quy trình làm việc và phát triển sản phẩm
- Tinh thần cầu tiến: NCCPLUS luôn hỗ trợ nhân viên trong việc phát triển nghề nghiệp và khuyến khích học hỏi liên tục
- Chăm sóc sức khỏe và phúc lợi: Công ty cung cấp các phúc lợi đầy đủ cho nhân viên như bảo hiểm y tế, hỗ trợ đào tạo và các hoạt động văn hóa thể thao nhằm duy trì một môi trường làm việc lành mạnh và động lực
3 Quy trình phát triển phần mềm tại công ty
Quy trình phát triển phần mềm tại công ty được thực hiện theo một chuỗi các giai đoạn rõ ràng và hệ thống Mỗi giai đoạn đều có mục tiêu và các hoạt động cụ thể nhằm đảm bảo rằng phần mềm được phát triển một cách chất lượng và hiệu quả, từ việc thu thập yêu cầu cho đến bảo trì và nâng cấp sau khi triển khai Các giai đoạn quan trọng bao gồm:
Analysis – Lập kế hoạch và phân tích yêu cầu
Mục tiêu: Xác định rõ yêu cầu của hệ thống và các tính năng phần mềm cần phải phát triển
Trang 9Hoạt động chính:
- Gặp gỡ với khách hàng và người dùng cuối để thu thập yêu cầu
- Phân tích các yêu cầu để đảm bảo tính khả thi, tính đầy đủ và độ chính xác
- Xác định các yêu cầu chức năng và phi chức năng của hệ thống (ví dụ: hiệu suất, bảo mật, khả năng mở rộng)
- Tạo tài liệu yêu cầu phần mềm (SRS – Software Requirement
- Thiết kế kiến trúc hệ thống, cơ sở dữ liệu và giao diện người dùng
- Xác định các công nghệ và công cụ phát triển sẽ được sử dụng
- Thiết kế chi tiết các thành phần và module của phần mềm (ví dụ: class diagrams, flowcharts, etc.)
- Lên kế hoạch chi tiết về cách thức hệ thống sẽ hoạt động và giao tiếp với các hệ thống khác
Trang 10- Đảm bảo tuân thủ các chuẩn mã hóa và quy tắc chất lượng phần mềm.
- Kiểm tra mã nguồn trong quá trình phát triển để đảm bảo tính chính xác và hiệu quả
Testing – Kiểm thử phần mềm
Mục tiêu: Phát hiện và sửa lỗi, kiểm tra xem phần mềm có hoạt động đúng theo yêu cầu và thiết kế ban đầu hay không, và đảm bảo rằng phần mềm đáp ứng được tất cả các tiêu chí chất lượng
và kiểm thử hồi quy (regression testing)
- Phát hiện và sửa các lỗi hoặc vấn đề trong phần mềm
- Đảm bảo phần mềm hoạt động ổn định và không có lỗi nghiêm trọng trước khi triển khai
Deployment – Triển khai sử dụng phần mềm
Mục tiêu: Đảm bảo phần mềm được triển khai thành công, hoạt động ổn định và sẵn sàng để người dùng cuối tiếp cận
Hoạt động chính:
- Triển khai phần mềm lên môi trường sản xuất
- Cấu hình hệ thống và cơ sở hạ tầng cần thiết để phần mềm có thể hoạt động
- Đảm bảo rằng hệ thống có thể hỗ trợ các yêu cầu về bảo mật, hiệu suất và tính sẵn sàng
Trang 11- Cung cấp tài liệu hướng dẫn sử dụng cho người dùng cuối và tổ chức các buổi đào tạo nếu cần thiết.
- Giám sát quá trình triển khai và xử lý các sự cố phát sinh
Maintenance – Cập nhật tính năng và bảo trì
Mục tiêu: Đảm bảo phần mềm tiếp tục hoạt động ổn định, hiệu quả trong suốt vòngđời của nó, đồng thời đáp ứng các thay đổi yêu cầu từ người dùng hoặc môi trường hoạt động
Hoạt động chính:
- Giám sát hoạt động của phần mềm để đảm bảo hệ thống hoạt động ổn định
- Sửa chữa các lỗi phát sinh sau khi triển khai
- Cập nhật và cải tiến phần mềm để đáp ứng nhu cầu mới hoặc thay đổi từ người dùng
- Cung cấp các bản vá bảo mật hoặc cải tiến hiệu suất
- Phát triển thêm các tính năng mới hoặc hỗ trợ cho các tính năng hiện tại, đảm bảo phần mềm luôn phù hợp với yêu cầu thị trường và công nghệ
Kết luận
Quy trình phát triển phần mềm là một chuỗi các giai đoạn được thiết kế để đảm bảo rằng phần mềm được xây dựng, triển khai và duy trì một cách có hệ thống, hiệu quả và đáp ứng nhu cầu của người dùng
III Nội dung công việc thực tập
1 Phân tích và xây dựng website tìm kiếm việc làm
Trong giai đoạn thực tập này, nhiệm vụ của tôi là phân tích và xây dựng hệ thống website tìm kiếm việc làm IT, đặc biệt là hệ thống hỗ trợ ứng viên và nhà tuyển dụng dễ dàng kết nối với nhau Dự án này không chỉ bao gồm việc phát triển giao diện người dùng mà còn yêu cầu phát triển hệ thống backend mạnh mẽ, bảo mật và
Trang 12dễ dàng mở rộng Sau đây là các bước tôi thực hiện trong quá trình xây dựng website:
a Phân tích yêu cầu và chức năng hệ thống
Đối tượng sử dụng: Xác định các nhóm người dùng chính bao gồm:
- Ứng viên: Đăng ký tài khoản, tìm kiếm việc làm, nộp hồ sơ, theo dõi trạng thái ứng tuyển
- Nhà tuyển dụng: Đăng tin tuyển dụng, quản lý hồ sơ ứng viên, duyệt và phản hồi ứng viên
- Admin: Quản lý hệ thống, duyệt tài khoản người dùng, phân quyền, và bảo mật dữ liệu
- Tìm kiếm công việc: Tìm kiếm công việc theo kỹ năng, mức lương,
vị trí, loại công việc
- Quản lý hồ sơ ứng viên: Ứng viên có thể nộp hồ sơ (CV), theo dõi trạng thái ứng tuyển
- Phân quyền và bảo mật: Hệ thống có nhiều vai trò với các quyền truycập khác nhau, đảm bảo bảo mật người dùng và thông tin
Trang 13- Cơ sở dữ liệu: MongoDB được sử dụng cho việc lưu trữ dữ liệu về ngườidùng, hồ sơ, tin tuyển dụng và các dữ liệu liên quan Cấu trúc dữ liệu được thiết kế linh hoạt với các bảng như Users, Jobs, Resumes,
- Giai đoạn 5: Kiểm thử hệ thống, tối ưu hóa hiệu suất và bảo mật
- Giai đoạn 6: Triển khai hệ thống trên môi trường thực tế
d Thực hiện phát triển và triển khai
Trang 14e Đánh giá kết quả và cải tiến
- Kiểm thử: Sau khi phát triển các chức năng, tôi sẽ thực hiện kiểm thử để đảm bảo rằng các tính năng hoạt động đúng và đáp ứng yêu cầu người dùng
- Phản hồi người dùng: Sau khi triển khai, tôi sẽ thu thập phản hồi từ người dùng để điều chỉnh và tối ưu hóa các tính năng của hệ thống
f Kết luận
Qua quá trình phân tích và xây dựng hệ thống tìm kiếm việc làm, tôi đã nắm vững các bước cần thiết từ phân tích yêu cầu, thiết kế hệ thống, cho đến triển khai và kiểm thử Các công nghệ và nền tảng sử dụng như NestJS,
ReactJS, MongoDB, JWT, và Ant Design sẽ giúp hệ thống đáp ứng nhu cầu củangười dùng và đảm bảo bảo mật, hiệu suất
2 Các nhiệm vụ cụ thể được phân công
a Phân tích yêu cầu và tài liệu hệ thống
- Thu thập yêu cầu từ phía hướng dẫn thực tập
- Xác định rõ đối tượng sử dụng (Ứng viên, Nhà tuyển dụng, Admin)
- Phân tích chức năng cần có của hệ thống như: đăng ký, đăng nhập, đăng tin tuyển dụng, tìm kiếm việc làm, nộp hồ sơ, phản hồi ứng viên
b Thiết kế hệ thống
- Xây dựng sơ đồ kiến trúc tổng thể của website
- Thiết kế cơ sở dữ liệu (MongoDB) với các bảng dữ liệu: Users, Jobs, Companies, Resumes, Roles
- Vẽ sơ đồ Use Case, sơ đồ hoạt động để mô tả luồng xử lý chức năng
c Phát triển backend (NestJS)
- Xây dựng API đăng ký tài khoản, đăng nhập và phân quyền người dùng
Trang 15- Xây dựng API quản lý tin tuyển dụng: đăng tin, sửa, xóa, tìm kiếm tin.
- Xây dựng API nộp hồ sơ ứng tuyển và quản lý trạng thái ứng tuyển
- Áp dụng bảo mật xác thực và phân quyền bằng JWT
d Phát triển frontend (ReactJS)
- Thiết kế giao diện đăng ký, đăng nhập cho người dùng và nhà tuyển dụng
- Xây dựng giao diện tìm kiếm việc làm theo bộ lọc (kỹ năng, vị trí, mức lương)
- Thiết kế trang đăng tin tuyển dụng cho nhà tuyển dụng
- Hiển thị danh sách công việc, chi tiết công việc và nộp đơn ứng tuyển
- Sử dụng Ant Design để chuẩn hóa giao diện đẹp mắt, thân thiện
e Kiểm thử và sửa lỗi
- Kiểm thử các chức năng API bằng Postman và kiểm thử frontend bằng các kịch bản người dùng thực tế
- Ghi nhận lỗi phát sinh và chỉnh sửa đảm bảo hệ thống hoạt động ổn định
- Thực hiện kiểm thử phân quyền người dùng (ứng viên, nhà tuyển dụng, admin)
f Báo cáo tiến độ thực tập
- Viết báo cáo công việc hàng tuần, nêu rõ các phần việc đã hoàn thành và phần việc đang thực hiện
- Báo cáo những khó khăn gặp phải và đề xuất phương án xử lý
- Chuẩn bị báo cáo tổng kết thực tập
Trang 16IV Phương pháp thực hiện
1 Thu thập yêu cầu, phân tích nghiệp vụ
Thu thập yêu cầu:
- Tiến hành làm việc trực tiếp với người hướng dẫn thực tập để nắm rõ yêu cầu tổng thể của hệ thống tìm kiếm việc làm
- Tham khảo các trang web tuyển dụng phổ biến như ITviec, TopCV,
CareerBuilder để nghiên cứu các tính năng tiêu chuẩn
- Xác định các yêu cầu chức năng chính: Đăng ký, đăng nhập, tìm kiếm việc làm, đăng tin tuyển dụng, quản lý ứng viên, nộp hồ sơ ứng tuyển
- Xác định các yêu cầu phi chức năng: Tốc độ tải trang nhanh, giao diện dễ sửdụng, đảm bảo bảo mật thông tin người dùng
Phân tích nghiệp vụ:
- Xác định các đối tượng sử dụng hệ thống:
Ứng viên (người tìm việc)
Nhà tuyển dụng (công ty tuyển dụng)
Quản trị viên (admin quản lý hệ thống)
- Phân tích các quy trình nghiệp vụ chính:
Ứng viên đăng ký tài khoản → Tìm kiếm việc làm → Nộp hồ sơ → Theo dõi trạng thái ứng tuyển
Nhà tuyển dụng đăng ký tài khoản → Đăng tin tuyển dụng → Xem danh sách ứng viên → Liên hệ ứng viên
Admin quản lý tài khoản, phê duyệt tin tuyển dụng, kiểm duyệt nội dung
- Xây dựng các sơ đồ Use Case, sơ đồ hoạt động để minh họa luồng nghiệp
vụ trong hệ thống