P a g e | 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 DỰ ÁN COCO ỨNG DỤNG KẾT NỐI MENTEE VÀ MENTOR Công ty thực tập CrossTech Người phụ trách Phạm Trường Thiên Ân Thự[.]
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Ngày nay, vị trí back-end là một bộ phận không thể thiếu của ngành công nghiệp phầnmềm nói chung và phát triển web nói riêng Với tốc độ phát triển vô cùng mạnh mẽ, ngành pháttriển web đã 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ôngnghiệp phát triển phần mềm non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập vớinhững công ty hàng đầu trên thế giới Bên cạnh những công ty phần mềm trẻ tuổi trong nước,công ty hỗ trợ cộng đồng như CrossTech cũng không nằm ngoài cuộc đua trong quá trình pháttriển và đưa đất nước phát triển
Ngành phát triển web được sinh ra là do nhu cầu cơ bản nhất của người dùng internet vàcác công ty, doanh nghiệp, cơ quan nhà nước,… trong thời đại chuyển đổi số nhanh chóng nhưhiện tại Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của ngànhphát triển web sau này Vì lý do này, em quyết định chọn vị trí back-end web developer làmđịnh hướng cho việc học tập của mình
Sau bốn 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 tham gia vào trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tậptrong học kì này Vì vậy, em quyết định chọn CrossTech - một môi trường lý tưởng, hiện đại,năng động và chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3tế nhất Chân thành cảm ơn các anh chị trong nhóm Mentor, các anh trị trong ban điều hành đã
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 biệt cảm ơn anh Phạm Trường Thiên Ân, đã training Javascript, hướng dẫn, giúp đỡcho em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môitrường mới; cảm ơn chị Nguyễn Thị Hồng Nhung, đã training Career, hỗ trợ chúng em rất nhiều
về các vấn đề về nghề nghiệp, định hướng tương lai trong ngành; cảm ơn anh Phùng ĐứcChính, đã chỉ dẫn chúng em về hoạt động nhóm, lên kế hoạch, những kỹ năng không thể thiếu
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ềukiện em làm bài báo cáo này
Phạm Đăng QuangTpHCM, ngày 22 tháng 12 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 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 CrossTech 2
2 Sản phẩm của công ty 2
Chương 2: Nội dung thực tập 3
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3
2 Nghiên cứu kỹ thuật 3
3 Thực hiện project 7
4 Lịch làm việc 7
Chương 3: Chi tiết về dự án 9
1 Giới thiệu về Game 9
2 Thực hiện 11
3 Kế hoạch 11
TÀI LIỆU THAM KHẢO 13
TỔNG KẾT 14
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty Crosstech
CrossTech được thành lập năm 1999 tại Việt Nam, là công ty cung cấp các sảnphẩm phần mềm tốt nhất và là nền tảng đào tạo giáo dục miễn phí Sau ??? nămthành lập, CrossTech đã phát triển thành một công ty đáng tin cậy với sự hợp tác củanhiều đối tác lớn và các trường đại học trong mọi miền trên đất nước
2 Sản phẩm của công ty
CrossTech cung cấp các ứng dụng dựa trên nền tảng đào tạo giáo dục là địnhhướng quan trọng của công ty Các ứng dụng hiện nay đang được trên khai hiện nàynhư CrU, Coco,… Công ty cũng cung cấp các khoá học, workshop được triền khaibởi chính các thành viên trong công ty cũng như liên kết với nhiều Mentor chấtlượng từ nhiều công ty, các trường đại học nổi tiếng như NashTech, WoflFun,Cosina Games, Casso, CMC Cloud,……
Trang 7Nhờ những thỏa thuận hợp tác với các với nhiều bên khác nhau, CrossTech đã cungcấp đến cộng đồng rất nhiều các khoá học chất lượng, các chương trình intership trênnhiều lĩnh vực khác nhau
Trang 8Chương 2: Nội dung thực tập
Đợt thực tập với vị trí Back-end NodeJs Inter nhằm mục đích giúp sinh viên thực tậpđược đào tạo toàn diện về lập trình web, đồng thời rèn luyện những kỹ năng mềm như làm việcnhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làmviệc trong một môi trường làm việc năng động, chuyên nghiệ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 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức củacông ty
Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công tynhư thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong côngviệc…
Kết quả : Hiểu thêm về công ty CrossTech, quá trình thành lập và phát triển Có thêm
các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, cótrách nhiệm hơn
2 Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : 4 ngày
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này,Mentor đã hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽgiúp ích cho trong công việc sau này Một số phần mềm trong số đó như Jira - sửdụng trong làm việc nhóm, Visual studio code – trình soạn thảo, biên tập mã nguồnđược sử dụng rộng rãi, Postman - ứng dụng thao tác với các API (ApplicationPrograming Interface)
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau, vận hành linh hoạt các ứng dụng hỗ trợ
2.2 Tìm hiểu ngôn ngữ Javascript nâng cao
Thời gian : 5 ngày (1 tuần)
Trang 9Nội dung : Được training về các kỹ thuật Javascript nâng cao, những kiến thức quan
trọng cho việc tối ưu trên server
- Lập trình hướng sự kiện
Các kiến thức cơ bản về lập trình hướng sự kiện, các đặc tính như module hoá,thiết kế function, mô hình mvc, serverless,… Ngoài ra, thực tập sinh còn đượchướng dẫn về cách thiết kế các module cho các controller trong ứng dụng
- Nâng cao kỹ năng lập trình với ngôn ngữ Javascript
- Có được những kiến thức quan trọng cho việc lập trình web sau này
- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúngchuẩn, dễ đọc, dễ hiểu
2.3 API Testing
Nội dung: Các kiến thức cơ bản về API testing về RESTful api.
- Khái niệm cơ bản về RESTful:.
Năm được các khái niệm cơ bản về RESTful, là một tiêu chuẩn dùng trong việcthiết kế API cho các ứng dụng web (Web services) để tiện cho việc quản lý cácresource Nó chú trọng các tài nguyên trong hệ thống (tệp văn bản, âm thanh, ảnh,video hoặc dữ liệu di động,….), bao gồm các trạng thái tài nguyên khác được địnhdạng và được truyền tải qua HTTP
Trang 10RESTful như status code, controller, route, request…, là những khái niệm rất cơbản và quan trọng trong lập trình web.
- Testing Manual:
Làm thế nào để kiểm thử thủ công các phần đã làm ra, kiểm thử các trường hợpdựa theo yêu cầu được đưa ra bởi BA, kiểm soát và hạn chế các sai sót trước khichuyển giao cho bộ phận QA
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Áp dụng vào dự án thực tế Coco như viết api, kiểm thử, …
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản trong lập trình web với API
- Cung cấp API đã được testing đến bộ phận QA và FE
2.4 Truy xuất database sử dụng ORM
Nội dung : Các kỹ thuật truy xuất database MySql với Object-relational mapping.
- Định nghĩa về Object-relational mapping:
Object-relational mapping là một kỹ thuật/ cơ chế lập trình sử dụng ánh xạ CSDLvào các đối tượng trong ngôn ngữ lập trình Javascript, Java, C++,…
- Truy xuất dữ liệu với Object-relational mapping:
Được các trainner hướng dẫn truy xuất các data từ database như MySql
- Thiết kế database với Object-relational mapping:
Để có thể lập trình ứng dụng web cần phải có cơ sở dữ liệu Ở đây dự án Coco sửdụng MySql cho việc lưu trữ dữ liệu ở phía server Thiết kế cơ sở dữ liệu giúphiện thực các chức năng của dự án và quản lý các dữ liệu
Thực hiện :
Trang 11- Tham gia đầy đủ các buổi training.
- Thiết kế và áp dụng các table vào cơ sở dữ liệu sẵn có của dự án Coco
Kết quả:
Áp dụng thành công table được thiết kế vào database và hiện thực các chứcnăng của dự án Coco
2.5 Áp dụng Firebase vào gửi thông báo
Nội dung : Áp dụng Firebase vào gửi thông báo đến người dùng sử dụng app mobile.
- Firebase:
Back-end as service cung cấp cho các nhà phát triển hàng loạt các dịch vụ và công
cụ giúp các nhà phát triển xây dựng ứng dụng, tăng trưởng người dùng cơ bản vàkiếm lợi nhuận từ đó
- Firebase admin SDK:
Là tập hợp nhiều thư viện ở phía server giúp nhà phát triển tương tác với firebasethông qua nhiều môi trường phát triển khác nhau thực hiện các hành động: tạo vàghi dữ liệu, gửi tin nhắn thông qua qua Firebase cloud, tạo và xác minh mã xácthực Firebase , truy cập tài nguyên Google cloud,…
Thực hiện :
- Tham gia đầy đủ các buổi training
- Thiết kế và áp dụng firebase vào chức năng gửi thông báo đến người dùng của dự
Trang 12cơ bản về Javascript, Nodejs, Sequelize Trong tháng thứ hai, trainer đã hướng dẫn thựctập sinh áp dụng những kiến thức đã học để phát triển các tính năng trong dự án Coco.Chi tiết đồ án sẽ được nói ở phần sau.
4 Lịch làm việc
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công ty,cách tổ chức của côngty
- Làm quen với cáccông cụ làm việctrong công ty
- Học cách trao đổi,làm việc qua email
Chị Nguyễn ThịHồng Nhung
2
- Tìm hiểu ngôn ngữ lập trình Javascript nâng cao
- Thực hành Javascript
- Làm bài test Javascript
Anh Phạm TrườngThiên Ân
3
- Tìm hiểu về APITesting
- Thực hành một sốcách testing cơ bản
- Manual testing
Chị Lại Thị HồngThơm
4
- Tìm hiểu về Sequelize
- Thực hành tạo một table sử dụng Sequelize
Anh Phạm HoàngViệt
5 Giai đoạn tham gia dự án:
- Lên kế hoạch
- Hiện thực các chứcnăng
- Tạo table lưu trữ chức
Anh Phạm Trường Thiên Ân
Anh Phạm Hoàng Việt
Trang 13năng thông qua
Sequelize
- Thiết kế API cung cấp
cho các bên QA, FE,
QC
Trang 14Chương 3: Chi tiết về Dự án Coco
1 Giới thiệu về dự án
Dự án Coco là ứng dụng cung cấp các khoá học có phí và trả phí cho cộng đồng lậptrình trẻ hướng đến mọi đối tượng quan tâm đến ngành công nghệ thông tin và nhiềungành nghề khác Coco xây dựng nền tảng kết nối cộng đồng mentor mentee, cung cấpcác chương trình định hướng của mentor bám sát thực tế, hỗ trợ hết mình cho mentee,cung cấp các khoá học cam kết chất lượng đầu vào, đưa đến những tiện ích tối ưu nhấtcho các bạn trẻ, giúp định hướng nghề nghiệp, trở thành mentor trong tương lai
1.1 Tầm nhìn
Coco phấn đấu trở thành nền tảng kết nối giữa mentor và mentee hang đầuViệt Nam bằng cách tập trung vào phát triển chất lượng, dịch vụ, mạng lướiMentor rộng lớn, đa dạng các lĩnh vực, các khoá học bám sát thực tế, đáp ứngnhu cầu người dùng
Tiên phong đổi mới, sáng tạo, phát triển các tính năng cần thiết theo kịp xuhướng, thói quen người dùng để từ đó nhanh chóng chiếm lĩnh thị trường đểthu hút khách hang
1.2 Sứ mệnh
Giúp các bạn trẻ tìm kiếm được người đồng hành trong mọi lĩnh vực
Là nơi kết nối giữa sinh viên và các Mentor có những thành tích xuất sắc hoặcnhững người là chuyên gia trong các lĩnh vực
Hỗ trợ các bạn trẻ định hướng được con đường nghề nghiệp, khám phá bản thân, từ đó phát huy hết năng lực của mình
Mang đến cho người dùng những cơ hội hấp dẫn về việc làm, hoạt động xãhội, tin tức cập nhật mới nhất
Trang 152 Business model và doanh thu
Business Model : B2C2C
Doanh thu của các chương trình mentor-mentee đến từ
Affiliate Marketing các khóa học
Quảng cáo : hình thức quảng cáo
Trang 16 Khu vực trang chủ
Trang 17 Khu vực cộng đồng tin nhắn
Trang 18 Khu vực thông báo
Trang 19 Khu vực cá nhân
Trang 20 Khu vực thông tin cá nhân
Trang 214 Giao diện sảm phẩm Coco admin
Đăng nhập
Quản lý tài khoản người dùng
Trang 22 Quản lý tài khoản hệ thống
Quản lý khoá học
Trang 23 Quản lý thông báo
Quản lý tiện ích
Trang 24 Quản lý hồ sơ
Trang 25TÀI LIỆU THAM KHẢO
Trang 26TỔNG KẾT
Như vậy, trong khoảng thời gian thực tập em đã được tham gia vào một dự án thực tếđang được triển khai vào áp dụng nhiều công nghệ mới trong việc phát triển và vận hành sảmphẩm
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer CrossTech, sự nỗ lực củacác anh chị Mentor để có thể tham gia và phát triển ứng dụng này