Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Báo cáo thực tập xây dựng dự án web e commerce...

Tài liệu Báo cáo thực tập xây dựng dự án web e commerce

.PDF
17
1
89

Mô tả:

1 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 DỰ ÁN WEB E-COMMERCE Công ty thực tập : GEEK UP TECHNOLOGY JSC Người phụ trách : Nguyễn Minh Trung Thực tập sinh : Võ Minh Quý Mã số sinh viên : 18521316 TP. Hồ Chí Minh, tháng 1 năm 2022 Võ Minh Quý 2 LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp phát triển ứng dụng điện thoại và web là một bộ phận không thể thiếu của ngành công nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành phát triển ứng dụng điện thoại đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm. Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành công nghiệp phát triển ứng dụng điện thoại non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầu về xây dựng ứng dụng điện thoại trên thế giới. Bên cạnh sự phát triển của ứng dụng di động thì những ngành nghề được tiếp cận người dùng một cách nhanh chóng như những gì ta có thể thấy là mạng xã hội hay những app bán hàng trực tuyến cũng đang rất thịnh hành trên cả thế giới lẫn Việt Nam. Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tìm hiểu, bổ sung kiến thức trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập trong học kì. Vì vậy, em quyết định chọn GEEK UP TECHNOLOGY JSC là nơi sẽ giúp em thực hiện được dự định này. Võ Minh Quý 3 LỜI CẢM ƠN 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ó cơ hội được thực tập tại công ty. Trong thời gian ngắn là 10 tuần thực tập ở công ty, nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, team đã có thể nắm và tiếp thu được những kiến thức nền tảng để có thể xây dựng được một sản phẩm đúng quy trình. Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra 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 này. Cảm ơn anh Trung đã giúp đỡ team về workflow, các teamwork và kiến thức về mảng Frontend. Cảm ơn anh Hiếu đã giúp đỡ team, chia sẻ kinh nghiệm, kiến thức về mảng Backend. Cảm ơn chị Thương đã giúp team hoàn thành dự án đúng với business logic. Cảm ơn chị Uyên đã giúp đỡ team hiểu biết hơn về văn hóa, cách làm việc của công ty, đồng thời đưa ra nhiều lời khuyên giúp team có thể làm việc hiệu quả hơn. Cảm ơn anh Thịnh đã giúp đỡ team review code, cách giải quyết vấn đề. Cảm ơn toàn thể GEEK Up đã giúp team hoàn thiện kỹ năng trong quá trình làm việc. Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này. Võ Minh Quý TP.HCM, ngày 5 tháng 1 năm 2022 Võ Minh Quý 4 NHẬN XÉT CỦA KHOA Võ Minh Quý 5 MỤC LỤC MỤC LỤC 1 Chương 1: Giới thiệu công ty thực tập 2 1. Giới thiệu về công ty cổ phần công nghệ GEEK UP. 2. Sản phẩm của công ty Chương 2: Nội dung thực tập 1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 2. Nghiên cứu kỹ thuật 3. Thực hiện project 4. Lịch làm việc Chương 3: Chi tiết về project 1. Giới thiệu dự án 2. Team phát triển 3. Công nghệ sử dụng 4. Phạm vi 5. Kết quả Chương 4: Kết quả đạt được TÀI LIỆU THAM KHẢO TỔNG KẾT 6 7 8 8 8 9 10 11 11 11 12 13 14 15 16 17 Võ Minh Quý 6 Chương 1: Giới thiệu công ty thực tập 1. Giới thiệu công ty cổ phần công nghệ GEEK UP - Tên công ty: Công ty cổ phần công nghệ Geek Up (GEEK UP TECHNOLOGY JSC) - Địa chỉ: + 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 + Chi nhánh: 27B/9 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, Thành phố Hồ Chí Minh - Trang web: www.geekup.vn - Email: [email protected] - Điện thoại: +84 28 6262 4400 - Slogan: “Insightful development” - Sứ mệnh: Xây dựng các sản phẩm phần mềm mang lại nhiều giá trị cho người dùng 2. Sản phẩm của công ty GEEK Up hợp tác và làm việc với vai trò là một Product Partner cung cấp toàn diện đáp ứng mọi nhu cầu trong toàn bộ chu trình phát triển sản phẩm của doanh nghiệp. Là đối tác của nhiều tập đoàn lớn như: Viettel, Mobifone, FPT, TPBank, ... Rất nhiều sản phẩm được sử dụng rộng rãi như: ứng dụng ngân hàng TP Bank, Ứng dụng Waitrr tại Singapore, d2o hệ thống quản lý hiệu suất dành riêng cho các chuỗi hospitality lớn nhất thế giới và rất nhiều sản phẩm khác. Tất cả những sản phẩm được xây dựng bởi GEEK Up đều ở mức “highest standards” cho mỗi dự án phát triển phần mềm. Võ Minh Quý 7 Dự án ứng dụng ebank của ngân hàng TPBank Dự án waitrr của đối tác Singapore Võ Minh Quý 8 Chương 2: Nội dung thực tập 1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty Thời gian: 1 tuần Nội dung: Giới thiệu về công ty, cách tổ chức của công ty Được các anh chị là các senior trong từng mảng giới thiệu về công ty. Quy trình phát triển phần mềm tại công ty. Giới thiệu về mô hình làm việc Agile, các văn hóa của công ty, thời gian làm việc, cũng như các tool quản lý dự án của công ty. Giới thiệu về các anh chị sẽ làm việc cùng với team. Training về công nghệ được sử dụng trong backend, frontend của dự án. Kết quả: Biết thêm về GEEK Up, quá trình thành lập và phát triển. Hiểu rõ hơn về working way và các process khi làm việc. Cách sử dụng các tool để quản lý dự án, cách sử dụng email. 2. Tìm hiểu dự án. Thời gian: 2 ngày Nội dung: - Các bước khởi động cho dự án mới. PA giới thiệu về dự án: • Mục tiêu, phạm vi của dự án • Các anh chị sẽ hỗ trợ các mảng trong dự án - Team thực hiện dự án. - Lên kế hoạch cho dự án: • Xây dựng các milestone • Xây dựng iteration • Xây dựng sprint • Xây dựng tài liệu quy chuẩn cho dự án • Tạo các backlog để làm việc Kết quả: Nắm và hiểu rõ dự án để tránh đi sai hướng. Thống nhất quy chuẩn làm việc trong dự án. 3. Xây dựng project. Sau khi xây dựng kế hoạch cho dự án. Team dựa trên kế hoạch phát triển dự án. Do team sử dụng Agile trong quá trình phát triển phần mềm nên sẽ có những hoạt động sau: Võ Minh Quý 9 - Khỏi đầu project sẽ có 1 buổi backlog workshop. Trong buổi này các member sẽ define ra toàn bộ công việc cần phải làm trong quá trình thực hiện dự án. Một milestone sẽ được chia thành cách Sprint (1-4 tuần) Các hoạt động trong 1 sprint: - - Sprint planning: - Time box: 2-4h tùy thuộc vào thời gian kéo dài của 1 sprint. - Goal: Team sẽ define ra mục tiêu của sprint, các Definition of Done. - What: Team sẽ pick các backlog cần thiết để có thể đạt được mục tiêu. Các backlog đã define trong backlog workshop. - How: Team sẽ phối hợp cùng nhau để tìm giải pháp để có thể thực hiện các backlog một cách tốt nhất. Daily scrum: Đây là hoạt động khoảng 15p diễn ra hàng ngày, giúp cách member trong team có thể nắm bắt được tiến độ của dự án và support member nếu cần. - Review: (Hoạt động diễn ra mỗi cuối Sprint) - - Review là hoạt động review lại sprint đó. - Xem xét tiến độ công việc. - Xem lại goal của Sprint để biết được những goal đã đạt được và thất bại. Retrospective: (Hoạt động diễn ra mỗi cuối Sprint) - Team đánh giá lại cách làm việc, những ưu điểm khuyết điểm trong quá trình làm việc của team. Từ đó đưa ra các action để có thể cải thiện tốt hơn trong các Sprint sau. - Sau các mốc milestone sẽ có buổi demo với khách hàng, dựa vào feedback của khách hàng sẽ cải thiện lại, giúp dự án đi đúng hướng và đúng tiến độ. - Sau khi hoàn thiện sản phẩm sẽ có 1 buổi đánh giá tiêu chuẩn của sản phẩm đó. - Cuối cùng là demo sản phẩm đang làm trước công ty. Kết quả: Hiểu rõ quy trình làm việc trên mô hình Agile. Biết cách đặt mục tiêu và cách thức làm việc nhóm. 4. Lịch làm việc. - Khung giờ làm từ 8h30 đến 11h30 và từ 13h30 đến 17h30. Từ thứ 2 đến thứ 6 hàng tuần. Võ Minh Quý 10 Tuần Công việc 1 - Giới thiệu về mô hình làm việc Agile - Văn hóa của công ty, thời gian làm việc Làm quen với các tool quản lý dự án của công ty. - Giới thiệu về các anh chị sẽ làm việc cùng với team. Training về công nghệ được sử dụng trong backend, frontend của dự án. Anh Trung Nguyễn, 9/10 Chị Uyên Phan, 2 - Kick off dự án - Backlog workshop - Milestone Anh Trung Nguyễn 3 - Tiến hành xây dựng dự án - Xen kẽ là các buổi demo vào tuần 5, 8 Anh Trung Nguyễn, 8/10 anh Hiếu Đặng 10 - Final demo. - Đánh giá dự án. - Chuẩn bị báo cáo trước công ty về dự án. Anh Trung Nguyễn, 9/10 anh Hiếu Đặng, anh Thịnh Võ 11 Làm workshop sharing về dự án đã làm trước công ty Anh Trung Nguyễn, 9/10 anh Hiếu Đặng 4 Người hướng dẫn Mức độ hoàn thiện 9/10 5 6 7 8 9 Võ Minh Quý 11 Chương 3: Chi tiết về project. 1. Giới thiệu về dự án. Trong GEEK Up xây dựng một hệ thống để nhằm hỗ trợ cho quá trình hoạt động và phát triển của công ty. Được gọi là GUA (GEEK Up architecture). Dự án của team là một product nằm trong hệ sinh thái GUA (Vì lý do bảo mật thông tin cho GEEK Up nên chỉ chia sẻ về phạm vi sử dụng của project). 2. Team phát triển. Team phát triển bao gồm: - Anh Hải Nhân (CEO GEEK Up): Product Ower dự án - Chị Thương (PA tại GU): Product analyst - Chị Vân (PD tại GU): Product designer - Anh Trung (Product Frontend): hỗ trợ PF + PIC - Anh Hiếu (Product Backend): hỗ trợ PB - Minh Quý: Product Backend - Duy Nguyễn: Product Backend - Khang Phạm: Product Backend - Quang Trần: Product Backend - Di Nguy: Product Backend - Hoàng Nhựt: Product Backend - Tiến Đạt: Product Frontend - Nhật Quân: Product Frontend 3. Công nghệ sử dụng. a. Tech stack. - Backend: Sử dụng framework Nestjs, Postgres DB, docker, docker-compose, gitlab cicd, sử dụng minio để lưu trữ ảnh - Frontend: Sử dụng ReactJs, quản lý state bằng dva js, sử dụng umiJs để dựng skeleton, ant.design cho UI. - Server: sử dụng Caprover. - Quản lý source code: Gitlab - Quản lý tiến độ dự án: Otable (Một app của riêng GEEK UP build dùng cho mục đích quản lý dự án) Võ Minh Quý 12 b. Architecture Dự án được xây dựng dựa trên mô hình hexagon architecture: Các nguyên lý khi xây dựng theo kiến trúc hexagon • Nguyên lý 1: Tách biệt User-Side, Business Logic và Server-Side • Nguyên lý 2: Dependency vào Business Logic • Nguyên lý 3: Ranh giới được cô lập với Interface Võ Minh Quý 13 c. Git workflow - Workflow: Nhánh Master là nhánh chính của source. Nhánh hotfix sẽ là nhánh được checkout từ master để sửa các lỗi còn lại khi test trên master. Nhánh Feature sẽ là các nhánh dùng để xây dựng các chức năng của dự án Nhánh dev sẽ là nhanh dùng trong xuyên suốt dự án. Các nhánh feature sẽ được merge vào dev để bổ sung các chức năng và test tại nhánh này. Nhánh release sẽ là nhánh sau khi kiểm thử các tính năng. Xảy ra 2 trường hợp: + Nếu nhánh release hoàn thành các bài test và hoàn thành phiên bản sẽ được đẩy lên nhánh master. + Nếu chưa hoàn thiện sẽ được đẩy về nhánh dev để hoàn thiện lại sản phẩm. Võ Minh Quý 14 4. Phạm vi. Dự án của team là một product nằm trong hệ sinh thái GUA. Được sử dụng bởi team tuyển dụng của GEEK Up 5. Kết quả đạt được của project. - Dự án hoàn thành đầy đủ các tính năng của sản phẩm. - Xây dựng sản phẩm đúng business logic. Võ Minh Quý 15 Chương 4: Kết quả đạt được trong quá trình thực tập tại GEEK Up - Đạt top performers tại kỳ thực tập. - Học được những kiến thức cơ bản để xây dựng 1 sản phẩm tế. - Học được các làm việc và giao tiếp 1 các hiệu quả giữa các chapter khác nhau. - Áp dụng được scrum vào trong môi trường làm việc thực tế. - Học hỏi được nhiều kiến thức chuyên môn. - Tại GEEK Up học được thêm nhiều về các kỹ năng mềm như thuyết trình, kĩ năng làm việc. - Tiếp thu được văn hoá tốt tại GEEK Up. - Cải thiện đáng kể được kỹ năng làm việc nhóm. Võ Minh Quý 16 TÀI LIỆU THAM KHẢO NestJs: https://docs.nestjs.com Antd: https://ant.design Umijs: https://umijs.org/docs Postgres: https://www.postgresql.org/docs/ Hexagon:https://herbertograca.com/2017/11/16/explicit-architecture-01-dddhexagonal-onion-clean-cqrs-how-i-put-it-alltogether/?fbclid=IwAR2r8eNY1A4OCOuRfxeoS2skVWbQVXhRmpz8Xd5m_zX8P -GxXAdRsOOh-ZE Võ Minh Quý 17 TỔNG KẾT Trong kì thực tập 11 tuần thực tập tại GEEK Up với sự giúp đỡ nhiệt tình từ các anh chị, team đã học hỏi được ra rất nhiều kiến thức mới và bổ ích. Team cũng đã xây dựng được 1 product trong hệ sinh thái của GEEK Up. Hiểu biết và nắm bắt được quy trình để xây dựng được 1 sản phẩm có giá trị. Chân thành cảm ơn tất cả các anh/chị trong GEEK Up đã tận tình giúp đỡ để nhóm hoàn thiện được dự án trên. Võ Minh Quý
- Xem thêm -

Tài liệu liên quan