Báo cáo thực tập Công ty thực tập GEEK UP TECHNOLOGY JSC Người phụ trách hướng dẫn Khoa Huỳnh Thực tập sinh Nguyễn Duy Phúc MSSV 19522038 TP Hồ Chí Minh, tháng 12 năm 2022 ĐẠI HỌC QUỐC GIA THÀNH PHỐ H[.]
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP XÂY DỰNG PRODUCT COIN Công ty thực tập: GEEK UP TECHNOLOGY JSC Người phụ trách hướng dẫn: Khoa Huỳnh Thực tập sinh: Nguyễn Duy Phúc MSSV: 19522038 TP.Hồ Chí Minh, tháng 12 năm 2022 LỜI MỞ ĐẦU Công nghệ thông tin giai đoạn có bước phát triển vũ bão lĩnh vực hoạt động khắp nơi tồn giới, điều xảy vịng vài năm vừa qua Việt Nam đầu tư ạt vào công nghệ Tin học vấn đề thiếu tổ chức, công ty Đặc biệt tin học ngày có vai trị quan trọng vấn đề quản lý quan, tổ chức lĩnh vực thu thập thông tin Sau q trình học tập rèn luyện khoa Cơng nghệ phần mềm trường Đại học Công nghệ Thông tin chúng em trang bị kiến thức chuyên môn kỹ mềm Với mong muốn bổ sung thêm kinh nghiệm kỹ làm việc môi trường chuyên nghiệp, em lên kế hoạch cho khóa thực tập học kỳ Sau tìm hiểu lịch sử phát triển văn hóa em định chọn Cơng Ty Cổ phần Công nghệ Geek Up - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực hóa dự định Báo cáo thực tập có nội dung bao gồm chương sau: Chương I: Giới thiệu công ty thực tập Chương II: Nội dung thực tập Chương III: Chi tiết project LỜI CẢM ƠN Em xin chân thành cảm ơn nhà trường quý thầy cô trường Đại học Công Nghệ Thông Tin tận tâm hướng dẫn, giảng dạy cho em kiến thức chuyên môn kỹ mềm năm ngồi giảng đường đại học, từ xây dựng cho em tảng vững tạo giúp em thực hóa ước mơ Trân trọng gửi lời cảm ơn Công ty Cổ phần Công nghệ Geek Up tạo điều kiện cho em có hội thực tập công ty, cho em trải nghiệm môi trường làm việc chuyên nghiệp hiệu Cùng với người đồng đội tập, em mong chúng em để lại dấu ấn, kỷ niệm đẹp tập vừa qua Chỉ thời gian ngắn, nhờ dẫn nhiệt tình anh chị hướng dẫn, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm Impactful Product Chân thành cảm ơn anh chị nhóm hướng dẫn bỏ nhiều thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập Bên cạnh kinh nghiệm quý báu kỹ chuyên môn Phát triển ứng dụng di động, cịn có kỹ làm việc nhóm, quy trình làm việc chun nghiệp Các anh chị hướng dẫn dạy em kỹ thuật cần thiết giao tiếp truyền đạt cho em kinh nghiệm anh chị trình làm việc, trao đổi với khách hàng tinh thần trách nhiệm với công việc với đồng đội Các anh chị tạo cho em nhiều hội để ứng dụng kiến thức vào thực tế để xây dựng dự án thực tiễn từ lúc ban đầu, nâng cao trình độ, tốc độ lập trình trí thức thêm bậc Em xin chân thành cảm ơn! Nguyễn Duy Phúc TP.Hồ Chí Minh, tháng 12 năm 2022 NHẬN XÉT CỦA KHOA …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………………………………………………………… …………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ………………………… ………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ………………………………………………………………………………………… ………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………… ……………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………… …………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ………………………………………… ………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Mục lục LỜI MỞ ĐẦU LỜI CẢM ƠN NHẬN XÉT CỦA KHOA Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty GeekUp Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Tìm hiểu ngơn ngữ TypeScript 2.2 NestJS 10 2.3 Git quy tắc sử dụng 10 2.4 Phát triển Ứng dụng web tảng Linux 11 2.5 Mơ hình Agile 12 Thực project 14 Lịch làm việc 14 Chương 3: Chi tiết project COIN 16 Giới thiệu COIN 16 Vì cần có COIN? 16 Cấu trúc COIN 17 Mục tiêu COIN 17 Các chức COIN 17 TỔNG KẾT 23 Thành 23 Cần cải thiện thời gian tới 23 Cảm nhận thân công ty 23 TÀI LIỆU THAM KHẢO 23 Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty GeekUp ● Tên đơn vị: Công ty Cổ phần Công nghệ Geek Up (GEEK UP TECHNOLOGY JSC) ● Lĩnh vực hoạt động: Xuất phần mềm ● Địa chỉ: o Trụ sở chính: 244/31 Huỳnh Văn Bánh, Phường 11, Quận Phú Nhuận, Thành phố Hồ Chí Minh o Chi nhánh: 27B / Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, Thành phố Hồ Chí Minh ● Trang web: www.geekup.vn ● Email: hello@geekup.vn ● Điện thoại: +84 28 6262 4400 ● Thời gian làm việc: Thứ đến thứ 6: 08h30 - 17h30 ● Slogan: “Insightful development” ● Sứ mệnh: Xây dựng sản phẩm phần mềm mang lại nhiều giá trị cho người dùng ● Giá trị cốt lõi o Honesty: Sống với đam mê, phấn đấu hướng tới giá trị chung o Geeks Get it done: Ln cố gắng hồn thành cơng việc đạt kết mong đợi o High standard: Luôn thử thách thân để nâng cao trình độ chun mơn o Stay Hungry Stay Foolish: Không dừng lại với khả tại, tiếp tục trau dồi học hỏi Sản phẩm công ty TP BANK - Ngân hàng số hàng đầu Việt Nam Nâng cao trải nghiệm người dùng cho Ngân hàng số tiên phong Thiết kế giao diện, trải nghiệm người dùng cho hệ sinh thái ứng dụng TPBank, ứng dụng TPBank xếp hạng Top lĩnh vực tài Việt Nam App Store/ Play Store năm 2020 The Coffee House - Chuỗi cà phê tăng trưởng nhanh số Việt Nam Nền tảng Loyalty platform cho chuỗi cafe hàng đầu Việt Nam Hiện thực hóa chương trình khách hàng thân thiết The Coffee House từ phiên MVP kiểm thử đầu tiên, giúp họ chuyển đổi hoạt động kinh doanh từ offline sang online SMRT - nhà điều hành giao thông công cộng đa phương thức hàng đầu Singapore Nền tảng giao thông công cộng thay đổi trải nghiệm di chuyển triệu người dân Singapore GEEK Up hợp tác với Tập đoàn SMRT xây dựng tảng mang đến trải nghiệm giao thông công cộng thuận tiện Singapore Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Xây dựng Product COIN” mục tiêu xây dựng server, client tảng Web, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc mơi trường chun nghiệp Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triển, quy trình làm việc để tạo sản phẩm, cách thức tổ chức công ty, tinh thần người công ty Geek Up, vị trí cơng ty, cách người cơng ty làm việc với nhau,… Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, bước cần thực trước bắt đầu vào làm, trình làm việc kết thúc ngày làm việc Tìm hiểu cơng cụ sử dụng trình làm việc Cũng thời gian này, anh chị hướng dẫn thực tập sinh tìm hiểu cơng cụ phục vụ cho mục đích cụ thể làm việc Hầu hết cơng cụ sản phẩm lưu hành nội công ty, ngồi cịn có ứng dụng, phần mềm hỗ trợ Yandex – phục vụ cho nhu cầu nhận gửi email Kết : Hiểu thêm cơng ty Geek Up, q trình thành lập phát triển Cách vận hành công ty, cách phối hợp với thành viên Có thêm kỹ việc quản lý dự án, tinh thần trách nhiệm, kỹ giao tiếp qua công cụ công ty cung cấp Nghiên cứu kỹ thuật 2.1 Tìm hiểu ngơn ngữ TypeScript Thời gian : ngày song song với thực hành suốt trình thực tập Nội dung : Được training kỹ thuật liên quan đến ngôn ngữ TypeScript lập trình web: o MVC Pattern: Model View Controller Architecture pattern MVC sử dụng muốn tách rời logic hoạt động phần mềm logic hiển thị giao diện người dùng Nhờ việc phát triển khối tiến hành độc lập mà không cần phải chờ đợi lẫn Thực hiện: ● Tham gia đầy đủ buổi training team Coach ● Làm thực hành, kiểm tra kiến thức học Kết quả: ● Nâng cao kỹ lập trình với ngơn ngữ TypeScript ● Có kiến thức quan trọng cho việc lập trình sau ● Ngồi biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 2.2 NestJS Thời gian: 0.5 ngày song song với thực hành suốt trình thực tập Nội dung: Được training NestJS, hiểu sử dụng vào trình xây dựng sản phẩm Web ● Nest (Nest JS) framework để xây dựng ứng dụng phía máy chủ Node.js efficient (hiệu quả), scalable (có thể mở rộng) Nó sử dụng JavaScript lũy tiến, xây dựng với hỗ trợ đầy đủ TypeScript (nhưng cho phép nhà phát triển mã hóa JavaScript túy) kết hợp yếu tố OOP (Lập trình hướng đối tượng), FP (Lập trình chức năng) FRP (Lập trình phản ứng chức năng) Thực hiện: ● Tham gia đầy đủ buổi training công ty ● Áp dụng NestJS để xây dựng sản phẩm Web trình deliver dự án Kết quả: ● Hiểu biết cách sử dụng NestJS cho trình phát triển sản phẩm ● Áp dụng NestJS vào trình deliver dự án 2.3 Git quy tắc sử dụng Thời gian : 0.5 ngày song song với thực hành suốt trình thực tập Nội dung : Được training kỹ thuật liên quan đến việc sử dụng Git cách hiệu ● Git tên gọi Hệ thống quản lý phiên phân tán (Distributed Version Control System – DVCS) hệ thống quản lý phiên phân tán phổ biến DVCS nghĩa hệ thống giúp máy tính lưu trữ nhiều phiên khác mã nguồn nhân (clone) từ kho chứa mã nguồn (repository), thay đổi vào mã nguồn máy tính ủy thác (commit) đưa lên máy chủ nơi đặt kho chứa Và máy tính khác (nếu họ có quyền truy cập) clone lại mã nguồn từ kho chứa clone lại tập hợp thay đổi máy tính Trong Git, thư mục làm việc máy tính gọi Working Tree 10 ● Ngồi ra, có cách hiểu khác Git đơn giản giúp bạn lưu lại phiên lần thay đổi vào mã nguồn dễ dàng khôi phục lại dễ dàng mà không cần copy lại mã nguồn cất vào Và người khác xem thay đổi bạn phiên bản, họ đối chiếu thay đổi bạn gộp phiên bạn vào phiên họ Cuối tất đưa thay đổi vào mã nguồn lên kho chứa mã nguồn ● Cơ chế lưu trữ phiên Git tạo “ảnh chụp” (snapshot) tập tin thư mục sau commit, từ cho phép bạn tái sử dụng lại ảnh chụp mà bạn hiểu phiên Đây lợi Git so với DVCS khác khơng “lưu cứng” liệu mà lưu với dạng snapshot ● Cấu trúc branch: ○ Master: nhánh chính, run production ○ Development (/dev): nhánh cho nhánh master cộng với nhánh feature phát triển ○ Feature (/dev/feature): tách từ nhánh dev, chức sau phát triển merge vào dev trước merge vào master Thực : ● Tham gia đầy đủ buổi training công ty ● Áp dụng tốt vào trình deliver dự án Kết : ● Hiểu thành thạo kỹ sử dụng Git 2.4 Phát triển Ứng dụng web tảng Linux Thời gian: ngày song song với thực hành suốt trình thực tập Nội dung: Được training kiến thức cần thiết kỹ năng, điểm cần ý trình phát triển ứng dụng web Song song với kiến thức kỹ lập trình ứng dụng di động, thực tập sinh training cách sử dụng hiệu Linux ● Linux họ hệ điều hành tự nguồn mở tương tự Unix dựa Linux kernel, Linux cung cấp môi trường trung gian để người dùng giao tiếp với phần cứng máy tính, thực cơng việc ● Bên cạnh đó, nhờ ứng dụng mã nguồn mở mà Linux đem lại nhiều thoải mái cho người dùng, đặc biệt lập trình viên, nhà phát triển Thực : ● Tham gia đầy đủ buổi training ● Áp dụng tốt vào trình deliver dự án 11 Kết : ● Hiểu khái niệm lập trình áp dụng tốt vào trình deliver sản phẩm 2.5 Mơ hình Agile Thời gian: ngày song song với thực hành suốt trình thực tập Nội dung : Được training kiến thức chung tìm hiểu việc áp dụng mơ hình vào quy trình làm việc nhóm q trình thực tập Đây mơ hình làm việc mà cơng ty Geek Up apply vào sử dụng product công ty Khái niệm Agile (viết tắt Agile Software Development) có nghĩa phương thức phát triển phần mềm linh hoạt, ứng dụng quy trình phát triển phần mềm với mục tiêu đưa sản phẩm đến tay người dùng nhanh tốt Rất nhiều nơi định nghĩa Agile phương pháp Thực chất, Agile giống phương pháp luận, triết lý dựa nguyên tắc phân đoạn vòng lặp (iterative) tăng trưởng (incremental) Ngày nay, triết lí Agile vượt xa khỏi khu vực truyền thống phát triển phần mềm để đóng góp thay đổi cách thức làm việc, quản lí, sản xuất ngành khác sản xuất, dịch vụ, sales, marketing, giáo dục trở thành phương thức quản lý dự án phổ biến với nhiều đại diện gọi phương pháp “họ Agile” ● tôn cần tuân thủ phương pháp Agile o Cá nhân tương hỗ quan trọng quy trình công cụ: Trọng tâm đặt lên người, xây dựng tương tác hỗ trợ thành viên nhóm Những thành viên có lực, chịu tương trợ công việc mang đến thành công cho dự án o Sản phẩm dùng tốt tài liệu đầy đủ: Tập trung thời gian để làm phần mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách hàng o Cộng tác với khách hàng quan trọng đàm phán hợp đồng: Hiểu khách hàng cần để tư vấn điều chỉnh sản phẩm thay dựa vào điều khoản hợp đồng o Phản hồi thay đổi bám sát kế hoạch: Agile khuyến khích thích nghi với thay đổi, thay đổi cơng nghệ, nhân sự, deadline, ● 12 nguyên tắc quan trọng Agile o Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm sản phẩm có giá trị o Thay đổi yêu cầu chào đón, chí muộn q trình phát triển o Giao phần mềm chạy cho khách hàng cách thường xuyên o Nhà kinh doanh kỹ sư phần mềm cần làm việc suốt dự án 12 o Xây dựng dự án xung quanh cá nhân có động lực Cung cấp hỗ trợ cần thiết, môi trường làm việc niềm tin để hồn thành cơng việc o Trao đổi trực tiếp cách truyền đạt thông tin hiệu o Thước đo tiến độ phần mềm chạy tốt o Phát triển liên tục bền vững o Cải tiến linh hoạt cách quan tâm đến kỹ thuật thiết kế o Nghệ thuật tối đa hóa lượng cơng việc chưa xong - Sự đơn giản cần thiết o Nhóm tự tổ chức o Thích ứng thường xuyên với thay đổi ● Điểm mạnh: o Thực thay đổi dễ dàng o o o o Không cần phải nắm thông tin từ đầu Bàn giao nhanh Chú ý đến phản hồi khách hàng người dùng Cải tiến liên tục ● Agile GeekUp ○ Sprint Planning (Họp Kế hoạch Sprint- Iteration): Nhóm phát triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho Sprint (xem thêm phần Sprint bên dưới) Công việc lập kế hoạch bao gồm việc chọn lựa yêu cầu cần phải phát triển, phân tích nhận biết cơng việc phải làm kèm theo ước lượng thời gian cần thiết để hoàn tất tác vụ Chia nhỏ cơng việc thành backlog (task) để theo dõi tiến độ dự án dễ dàng Scrum sử dụng cách thức lập kế hoạch phần tăng dần theo thời gian, theo đó, việc lập kế hoạch khơng diễn lần vịng đời dự án mà lặp lặp lại, có thích nghi với tình hình thực tiễn tiến trình đến sản phẩm ○ Daily Scrum (Họp Scrum ngày): Scrum Master tổ chức cho Đội sản xuất họp ngày khoảng 15 phút để Nhóm Phát triển chia sẻ tiến độ công việc chia sẻ khó khăn gặp phải q trình phát triển phần mềm suốt Sprint ○ Sprint Review (Họp Sơ kết Sprint): Cuối Sprint, nhóm phát triển với Product Owner rà sốt lại cơng việc hoàn tất (DONE) Sprint vừa qua đề xuất chỉnh sửa thay đổi cần thiết cho sản phẩm ○ Sprint Retrospective (Họp Cải tiến Sprint): Dưới trợ giúp Scrum Master, nhóm phát triển rà sốt lại tồn diện Sprint vừa kết thúc tìm cách cải tiến quy trình làm việc thân sản phẩm Thực : ● Tham gia đầy đủ buổi training ● Áp dụng tốt vào trình deliver dự án Kết quả: 13 ● Hiểu khái niệm agile áp dụng tốt vào trình deliver sản phẩm Thực project Sau tuần training thực hành, thực tập sinh nắm kiến thức TypeScript, NestJs, Git Agile Trong thời gian lại, thực tập sinh hướng dẫn áp dụng kiến thức học để deliver dự án Lịch làm việc Tuần Công việc Chị Uyên Phan − Tìm hiểu cơng ty, cách tổ chức công ty − Làm quen với cách làm việc theo mơ hình Agile cơng ty − Làm quen với công cụ làm việc công ty − Cài đặt môi trường để chuẩn bị cho dự án − Học cách trao đổi, làm việc qua email − Tham gia buổi gặp gỡ ngồi cơng ty: Tuesday Workshop, Thursday Workshop, Friday Meetup, Mini Workshop − − − − Chị Uyên Phan − 2-3 (Iteration − 1) − − Tìm hiểu Linux, ngơn ngữ TypeScript Tìm hiểu RESTful API Tìm hiểu Git tool liên quan Cùng thực tập sinh lập quy ước chung sử dụng Git collab với Phân tích lên kế hoạch triển khai COIN thực tập sinh Chia nhỏ dự án COIN thành Iteration nhỏ backlog nhỏ Iteration Tham gia Daily Scrum ngày để trình bày tiến độ công việc cho đồng đội, dự định ngày khó khăn gặp phải Cùng squad thực Iteration Review Iteration Retrospective để nhìn lại tuần thực dự án, làm sản phẩm nào, team collab với tốt hay chưa Tham gia buổi gặp gỡ công ty: Tuesday Workshop, Thursday Workshop, Friday Meetup, Mini Workshop Người hướng dẫn Anh Khoa Huỳnh Anh Tuấn Nguyễn Chị Hoài Thương Chị Thảo Đoàn Chị Mai Anh Anh Nhân Bùi Anh Khoa Huỳnh Anh Tuấn Nguyễn Chị Hoài Thương − Tiếp tục phân tích lên kế hoạch triển khai COIN Chị Uyên Phan thực tập sinh giai đoạn dự án (Iteration Anh Nhân Bùi 4-5 14 2) − Tham gia Daily Scrum ngày để trình bày tiến độ cơng Anh Khoa Huỳnh việc cho đồng đội, dự định ngày Anh Tuấn Nguyễn khó khăn gặp phải − Integrate với Client để triển khai chức Chị Hồi Thương − Trình bày sản phẩm dự án, kế hoạch cho Project Owner − Cuối Iteration 2, dự án hoàn thành mainflow fix tất bug tồn đọng Iteration − Cùng squad thực Iteration Review Iteration Retrospective để nhìn lại sau tuần tuần thực dự án, làm sản phẩm nào, team collab với tốt hay chưa, rút thêm kinh nghiệm − Tham gia buổi gặp gỡ ngồi cơng ty: Tuesday Workshop, Thursday Workshop, Friday Meetup, Mini Workshop − Tiếp tục phân tích lên kế hoạch triển khai COIN thực tập sinh giai đoạn dự án − Tham gia Daily Scrum ngày để trình bày tiến độ công việc cho đồng đội, dự định ngày khó khăn gặp phải − Integrate với Client để triển khai chức 6-7 − Cuối Iteration 3, dự án hoàn thành chức quan trọng khác theo kế hoạch (Iteration − Cùng squad thực Iteration Review Iteration 3) Retrospective để nhìn lại sau tuần tuần thực dự án, làm sản phẩm nào, team collab với tốt hay chưa, rút thêm kinh nghiệm − Tham gia buổi gặp gỡ ngồi cơng ty: Tuesday Workshop, Thursday Workshop, Friday Meetup, Mini Workshop Chị Uyên Phan − Giai đoạn nước rút dự án Tìm kiếm sửa lỗi tồn đọng Iteration trước Triển khai kế hoạch improve product 8-9 − Tiếp tục phân tích lên kế hoạch triển khai COIN (Iteration thực tập sinh giai đoạn cuối dự án − Tham gia Daily Scrum ngày để trình bày tiến độ 4) cơng việc cho đồng đội, dự định ngày khó khăn gặp phải − Integrate với Client để triển khai chức cuối Chị Uyên Phan Anh Nhân Bùi Anh Khoa Huỳnh Anh Tuấn Nguyễn Chị Hoài Thương Anh Nhân Bùi Anh Khoa Huỳnh Anh Tuấn Nguyễn Chị Hoài Thương 15 − Cuối Iteration 4, dự án hoàn thành chức quan trọng khác theo kế hoạch − Cùng squad thực Iteration Review Iteration Retrospective để nhìn lại sau tuần tuần cuối thực dự án, làm sản phẩm nào, team collab với tốt hay chưa, rút thêm kinh nghiệm − Tham gia buổi gặp gỡ ngồi cơng ty: Tuesday Workshop, Thursday Workshop, Friday Meetup, MiniWorkshop Giai đoạn cuối: 10 Chị Uyên Phan Anh Khoa Huỳnh − Trình bày sản phẩm dự án cho Project Owner − Trình bày sản phẩm cho công ty Geek Up xem Anh Tuấn Nguyễn 10 tuần vừa qua, thực tập sinh làm − Thực bước cuối để đóng project Bàn giao Chị Hồi Thương project − Tạm biệt người Gửi lời cảm ơn tri ân đến tồn thể cơng ty Geek Up − Chuẩn bị tài liệu báo cáo thực tập Củng cố kiến thức qua đợt thực tập Rút kinh nghiệm tự đánh giá thân Chương 3: Chi tiết project COIN Giới thiệu COIN COIN Web App nhằm mục đích thu thập theo dõi insights Web sử dụng cho Actor Collector – Người có nhu cầu thu thập insights, Sponsor – Người có nhu cầu cung cấp theo dõi insights cá nhân cho Collector Vì cần có COIN? Trong tổ chức cần thu thập insight người liên quan Từ insight thu thập được, người thu thập take action dựa insight Q trình tạo kết là: Action tổ chức không phụ thuộc chủ quan vào người, mà tổng hợp từ thành viên quan trọng, liên quan đến action Từ cải thiện chất lượng action cơng ty, tạo giá trị dương sau take action cho công ty Insight gì? Insight hiểu ý kiến, đóng góp, nhận xét, quan điểm câu hỏi, chủ đề đó, mà insight từ góc nhìn người có nhu cầu cung cấp insight, khơng bị phụ thuộc vào người thu thập Lưu ý: Insight khơng có tính chất sai hay đúng, hiệu hay không hiệu quả, insight góc nhìn người cung cấp cho chủ đề đưa COIN đời từ nhu cầu Geek Up: Geek Up cơng ty tổ chức theo Mơ hình phẳng (Flat Company), hiểu khơng có đóng vai trị sếp khơng cấp Mọi người công ty đảm nhận vai trị khác nhau, người có vai trò tương tự tập hợp lại thành Chapter Vậy, COIN đời để thành viên 16 cơng ty collect insight tất thành viên Chapter, cơng ty Từ đưa định Đối với cơng ty tổ chức theo mơ hình cũ Sếp – Nhân viên thường khơng có bước Các định dựa theo ý chí chủ quan Sếp vài thành viên cổ đơng cơng ty Ở Geek Up cịn áp dụng mơ hình Agile vào vận hành product mà Geek Up tạo Một tính chất quan trọng tạo nên Agile thời gian deliver iteration ngắn, từ q trình deliver cần feedback nhanh, COIN đời để phục vụ cho mục đích cách hiệu Từ quan điểm trên, thấy việc collect insight thành viên tổ chức nhu cầu quan trọng tổ chức nào, với tổ chức Geek Up – tổ chức mang tinh thần nhiệt huyết, sôi đại Hiểu nhu cầu đó, nhóm thực tập sinh tạo nên product COIN để phục vụ cách hiệu vấn đề collect share insight Cấu trúc COIN COIN gồm có Server đảm nhận vai trị database product, với Client Web cho Collector Sponsor Collector: Người có nhu cầu collect insight chủ đề định có nhu cầu take action sau collect đủ insight Sponsor: Người có nhu cầu share insight cho collector, đưa ý kiến đóng góp, quan điểm cá nhân cho chủ đề mà collector quan tâm ● Hàng tuần, công ty tổ chức buổi alignment meeting theo chủ đề cố định ● Sponsor tham gia buổi họp share insight ● Đầu tiên, Collector sử dụng Web để collect insight họp ● Sau có insight từ sponsor, collector tiến hành tổng hợp, xếp lại insights ● Collector take action dựa insight tổng hợp Mục tiêu COIN ● Có thể đáp ứng nhu cầu collect share insight collector sponsor ● Sau sponsor share insight, collector tổng hợp lại insight thu thập ● Sponsor xem trạng thái insight mà share có xử lý hay không ● Quan trọng: Tạo tinh thần tích cực, vui vẻ tương tác tốt sponsor Từ sponsor đưa insight chất lượng tốt Các chức COIN Chức tạo insight: Collector Client Web tạo insight lắng nghe sponsor share insight 17 18 Chức thông báo: Mỗi trạng thái insight thay đổi, có thơng báo gửi đến cho sponsor cung cấp insight Chức hiển thị: Sau thu thập, insight tổ chức theo dạng bảng hiển thị cho thành viên collector xem Chức insight feed: Khi insight handle complete hiển thị feed bên có liên quan xem react 19 Chức quản lý viewer: Cho phép người khác xem insight collector feed hay không 20 Chức suggest insight: Insight suggest đến collector khác nằm ngồi phạm vi xử lý collector Chức Complete/ Archive insight: Đánh dấu insight xử lý yêu cầu lưu trữ insight 21 Chức Activity: Lưu trữ hành động thành viên collector 22 TỔNG KẾT Thành Trải nghiệm thực tế Mơ hình phẳng (Flat Company) Quy trình Agile Phối hợp team lớn (11 thành viên) để xây dựng nên product chạy ổn định Học hỏi phát triển nhiều kiến thức lẫn kỹ lập trình ứng dụng web Hiểu áp dụng tốt MVC Pattern, Git Đó kiến thức chủ chốt chuyên môn phát triển ứng dụng web Bên cạnh đó, khả tư lập trình, logic kỹ xử lý tình cải thiện rõ rệt sau tham gia thực tập Hiểu trình xây dựng product “thật”, có người sử dụng Từ việc lên ý tưởng, xây dựng concept, lên kế hoạch công việc ngày, trao đổi thành viên, rút kinh nghiệm sau giai đoạn ngắn Từ bước nhỏ khơng thể thiếu đó, sinh viên tạo nên product thật hoàn chỉnh Áp dụng tốt Quy trình Agile, có kinh nghiệm làm việc nhóm cách hiệu Nâng cao kỹ giao tiếp thân Biết cách quan tâm tới “sức khỏe" product Nâng cao kỹ lập trình như: cách tổ chức code, áp dụng pattern, kiểm tra code trước commit, Cần cải thiện thời gian tới Sau hoàn thành tập, tự thân em anh chị cơng ty đánh giá có kiến thức tốt lập trình cần phải rèn luyện thêm, học thêm nhiều công nghệ nghiệp vụ để xây dựng tảng vững tạo bàn đạp để phát triển cho tương lai Kỹ làm việc nhóm tốt chưa thực quan tâm tới thành viên team nên cần phải cải thiện Cảm nhận thân công ty Các anh chị luôn quan tâm, lắng nghe chia sẻ cho thực tập sinh từ điều nhỏ nhặt Đánh giá cá nhân cách tổng thể toàn diện Em cảm thấy thật may mắn thực tập GeekUp, GeekUp mang đến cho em cảm giác thú vị kiến thức mẻ đến từ buổi Sharing WorkShop Hy vọng tới em đến văn phịng thực làm việc trở thành thành viên đại gia đình GeekUp TÀI LIỆU THAM KHẢO https://www.postgresql.org/docs/ https://typeorm.io/ https://docs.nestjs.com/ Các tài liệu nội dự án COIN công ty Geek Up 23 ... tác với Tập đoàn SMRT xây dựng tảng mang đến trải nghiệm giao thông công cộng thuận tiện Singapore Chương 2: Nội dung thực tập Đợt thực tập với chủ đề ? ?Xây dựng Product COIN” mục tiêu xây dựng server,... khóa thực tập học kỳ Sau tìm hiểu lịch sử phát triển văn hóa em định chọn Cơng Ty Cổ phần Công nghệ Geek Up - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực hóa dự định Báo cáo thực tập. .. gian: 0.5 ngày song song với thực hành suốt trình thực tập Nội dung: Được training NestJS, hiểu sử dụng vào trình xây dựng sản phẩm Web ● Nest (Nest JS) framework để xây dựng ứng dụng phía máy chủ