1. Trang chủ
  2. » Cao đẳng - Đại học

báo cáo thực tập lập trình WEB sử dụng RUBY ON RAILS và REACT

18 19 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Lập Trình Web Sử Dụng Ruby On Rails Và React
Tác giả Thái Chương, Nguyễn Vân Phượng Anh
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Công Nghệ Phần Mềm
Thể loại báo cáo thực tập
Định dạng
Số trang 18
Dung lượng 1,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong một thời gian ngắn, với sự chỉ dẫn nhiệt tình của anh Chương, anh Hoàng và anh Kha, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng về phát triển web sử dụng Rub

Trang 1

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH WEB SỬ DỤNG

RUBY ON RAILS VÀ REACT

Công ty thực tập : Công ty Cohota

Thực tập sinh : Nguyễn Vân Phượng Anh

Trang 2

TP Hồ Chí Minh, tháng 12 năm 2020

LỜI MỞ ĐẦU

Ngành Công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng vẫn luôn là một trong những nhân tố thiết yếu và đóng vai trò quan trọng nhất trong sự phát triển chung của cả xã hội

Việc tạo ra công cụ hỗ trợ con người trong việc mô phỏng các thông tin cần thiết, hạn chế những sai sót giúp tiết kiệm thời gian, chi phí và sức lực

Phát triển ứng dụng web mang nhiều tính thực tế ứng dụng và phù hợp với xu thế hiện tại và nhu cầu thị trường Vì lý do này, em quyết định chọn lập trình web và thiết kế làm định hướng cho việc học tập của mình

Sau ba năm học tập trên trường với mong muốn có thêm kinh nghiệm thực tế trong một môi trường chuyên nghiệp, em quyết định chọn Cohota - một môi trường startup lý tưởng, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn đến anh Thái Chương của công ty Cohota đã tạo điều kiện cho

em có cơ hội được thực tập và học hỏi nhiều điều bổ ích

Trong một thời gian ngắn, với sự chỉ dẫn nhiệt tình của anh Chương, anh Hoàng và anh Kha, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng về phát triển web

sử dụng Ruby On Rails và góp phần vào thực hiện 1 dự án được áp dụng thực tế Em cảm ơn thời gian và công sức của mọi người đã bỏ ra để hướng dẫn chúng em hoàn thành đợt thực tập này

Em xin cảm ơn anh Kha và anh Hoàng đã cho nhóm em 1 crash course về Ruby on Rails cũng như Reactjs, hướng dẫn từng bước và tận tình gỡ rối những khó khăn trong công việc để thực hiện được 1 dự án gần như hoàn chỉnh và áp dụng được vào thực tế Đặc biệt là, em cảm

Trang 3

ơn anh Thái Chương đã dìu dắt chúng em với những buổi seminar trau dồi về kỹ năng thuyết trình, làm việc nhóm, em đã học được rất nhiều điều không chỉ về công nghệ mà còn là kỹ năng mềm và tư duy logic

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

Nguyễn Vân Phượng Anh TPHCM, ngày 30 tháng 12 năm 2020

NHẬN XÉT CỦA KHOA

Trang 4

MỤC LỤC

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3

Chương 1: Giới thiệu công ty thực tập

Trang 5

1 Giới thiệu công ty Cohota

Sáng lập bởi anh Thái Chương, Cohota viết tắt từ “Cổng học Tập” là một công ty startup trong lĩnh vực Edutech, cung cấp giải pháp nền tảng quản lý học tập và đào tạo cho mọi cấp độ, cung cấp giải pháp LMS (Learning Management System) cho các khối doanh nghiệp giáo dục tất cả cấp bậc Với thâm niên >2 năm, Cohota nhận được sự tin tưởng và đánh giá cao của đối tác giáo dục

Với tầm nhìn và những dự án mang tính xã hội, Cohota trở thành đơn vị triển khai một số chương trình huấn luyện xây dựng năng lực ở các trường học thông minh và trường Đại Học

2 Sản phẩm của công ty

Cohota cung cấp giải pháp nền tảng quản lý học tập và đào tạo cho mọi cấp độ, cung cấp giải pháp LMS (Learning Management System) cho các khối doanh nghiệp giáo dục tất cả cấp bậc (hệ thống quản lý khóa học MOOC, lớp học ảo, ứng dụng học tập cho giáo viên và học viên Catbus…) LMS mang tính ứng dụng cao trong thời dịch Covid -19 trong việc quản lý dạy học, chất lượng và học viên, là cầu nối thay thế cho hoạt động học tập truyền thống

Nền tảng Cohota ngoài khía cạnh quản lý học tập, nâng cao chất lượng của hoạt động dạy học kết hợp nhằm thúc đẩy hiệu quả giáo dục, đào tạo con người trong thời đại mới, còn là nơi thể hiện tinh thần đam mê công nghệ của các kỹ sư trẻ với Cloud, Blockchain, Big data và AI để phục vụ hơn 10.000 giáo viên và các chương trình giáo dục đổi mới

Ngoài ra công ty còn thực hiện nhiều dự án xã hội và giáo dục ứng dụng công nghệ web, Cohota đã hợp tác với nhiều đơn vị cả trong và ngoài nước như ITP, trung tâm dữ liệu ĐHQG, Inacol & TBLC

Trang 6

Chương 2: Nội dung thực tập

Đợt thực tập ứng dụng mô hình làm việc Scrum và sinh viên thực tập được đào tạo cơ bản về lập trình web sử dụng Ruby on Rails và React, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm theo Scrum, thuyết trình, giao tiếp, sử dụng công cụ quản lý công việc như Jira Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường startup năng động

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 và kỹ năng cần thiết được đánh giá:

Đượ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 quy trình làm việc từ cao xuống thấp, cách thức tổ chức của cô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 ty như thời gian đi làm, các quy định cần phải tuân thủ Những kỹ năng làm việc như:

- Kỹ năng chuyên môn: Mức độ hoàn thành công việc

- Khả năng làm việc theo nhóm

- Kỹ năng giao tiếp

- Khả năng hòa nhập với môi trường doanh nghiệp

Kết quả :

- Hiểu thêm về công ty ,quá trình thành lập và phát triển

- Có thêm các kiến thức về những kỹ năng yêu cầu khi đi làm

2 Nghiên cứu kỹ thuật

2.1 Các công cụ làm việc

Thời gian : 1 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, supervisor đã 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: Visual Studio Code, Figma, Jira, Cohota LMS

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.

Kết quả : Có kiến thức về những công cụ trên.

2.2 Tìm hiểu về Ruby on Rails

Thời gian : 1 tuần

Nội dung : Được training về căn bản của lập trình Ruby thông qua mini projects.

Kiến thức lập trình căn bản Ruby:

Trang 7

- Methods và classes

- Inheritance, Initializing instances

- Arrays và blocks, block return values, Hashes

- Heap (object references, clone object) Falsy/Truthy

- References, mixins, comparable và enumerable

- Web apps, saving và loading data

Thực hiện :

- Tham gia đầy đủ các buổi training của công ty

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Kết quả :

- Hiểu biết về ngôn ngữ Ruby

- Bài tập cuối khóa: 1 project nhỏ show và CRUD thông tin và lưu trữ thông tin

2.3 Tìm hiểu về Reactjs

Thời gian : 1 tuần

Nội dung: Kiến thức cơ bản về React để kết hợp với Ruby on Rails.

- JSX

- Rendering elements

- Components và props

- State và Lifecycle

- Event handling

- Conditional rendering

- Redux store và redux saga

Thực hiện :

- Tham gia đầy đủ các buổi training

- Làm các bài tập thực hành như tạo searchbar đơn giản gọi api của unsplash, làm website lấy thông tin học viên, làm lại UI của 1 trang web mẫu sử dụng React và Instructure library

- 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 React, cách sử dụng library, call api, kiến trúc redux

2.4 Quy trình làm việc Scrum

Trang 8

Nội dung : Cách thức tổ chức và làm việc theo mô hình Scrum

- Định nghĩa về Scrum:

Scrum là một phương pháp Agile dùng cho phát triển sản phẩm, đặc biệt là phát triển phần mềm Scrum là một khung quản lý dự án được áp dụng rất rộng rãi, từ những dự án đơn giản với một nhóm phát triển nhỏ cho đến những dự án có yêu cầu rất phức tạp với hàng trăm người tham gia, và kể cả những dự án đòi hỏi khung thời gian cố định

- Tổ chức trong Scrum:

Trong Scrum, công việc được thực hiện bởi Nhóm Scrum thông qua từng phân đoạn lặp liên tiếp nhau được gọi là Sprint Để hiểu được Scrum thì cần hiểu nguyên lý của Scrum, các Vai trò, Tạo tác, Sự kiện và sự vận hành của một vòng đời Scrum

- Tuyên ngôn Agile:

▪ Cá nhân và sự tương tác hơn là quy trình và công cụ;

▪ Phần mềm chạy tốt hơn là tài liệu đầy đủ;

▪ Cộng tác với khách hàng hơn là đàm phán hợp đồng;

▪ Phản hồi với các thay đổi hơn là bám sát kế hoạch

- Sự kiện trong Scrum:

▪ Sprint

▪ Lập kế hoạch sprint

▪ Scrum hàng ngày

▪ Sprint retrospect

▪ Sprint review

Thực hiện :

- Tham gia đầy đủ các buổi thực hành

- Đảm bảo hoàn thành tiến độ công việc theo vai trò trong sprint

- Thực hiện retrospect đánh giá

Kết quả:

Trang 9

- Được trải nghiệm quy trình Scrum và quản lý tiến độ công việc nhóm.

3 Thực hiện project

Trong 2 tháng đan xen giữa những buổi seminar kỹ năng mềm, training kiến thức mới và

áp dụng vào mini-projects, team đã sẵn sàng làm một project thực tế yêu cầu căn bản từ những kiến thức đã học, làm việc theo mô hình Scrum

Chi tiết project 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

- Huấn luyện hội nhập, tìm hiểu về công ty và các dự

án, kỹ năng thuyết trình, làm việc nhóm

Anh Thái Chương

2

- Huấn luyện các kiến thức kỹ thuật cần thiết, thực hành kỹ năng thuyết trình và làm việc nhóm

Anh Kha

3

- Chia nhóm 2-3 người để thực hiện các tác nhiệm cụ thể

- Hướng dẫn quy trình quản lý và Scrum

Anh Hoàng

4

- Workshop UX/UI

- Workshop về ứng dụng công nghệ dạy và học

Anh Thái Chương

5

- Phân tích nghiệp vụ

và quản lý Backlog

- Lập 1 kế hoạch sprint để thực hiện

Anh Chương và anh Hoàng

Trang 10

- Hoàn thành sprint và retrospective

Anh Chương và anh Hoàng

7

Automation testing với Selenium

Opensource, NGO, doanh nghiệp xã hội

và khởi nghiệp

Anh Chương

8

- Hoàn thành các module, tài liệu hóa

- Thủ tục bàn giao

- Tổng kết chương trình

Anh Chương và anh Hoàng

Chương 3: Chi tiết về project

1 Giới thiệu về AZLearning

AZLearning là trang web cho giáo viên trải nghiệm quy trình tạo bài kiểm tra và học viên làm bài kiểm tra

1.1 Mục đích

AZLearning là website cho giáo viên tạo bài kiểm tra nhanh chóng, quản lý danh sách bài kiểm tra và export link/QR code để sinh viên tham gia làm bài kiểm tra Flow hoạt động của website sẽ cho giáo viên trải nghiệm tạo thử bài kiểm tra

mà không cần đăng ký tài khoản, sau đó để lưu giáo viên sẽ đăng kí và thông tin được tích hợp trên hệ thống LMS của Cohota

Mục tiêu của website ưu tiên trải nghiệm người dùng cho những giáo viên không quen thuộc với luông sử dụng bài bản của một LMS toàn diện

1.2 Chức năng

Trang 11

Giới thiệu

Màn hình landing page giới thiệu về AZLearning và hướng dẫn tạo bài kiểm tra:

Trang 13

Tạo bài kiểm tra và quản lý bài kiểm tra:

Đặt tên và cài đặt thuộc tính cơ bản cho bài kiểm tra và thực hiện tạo câu hỏi

Có các loại câu hỏi như:

- Trắc nghiệm

- True/ false

- Matching questions

- Tự luận

- Multiple answer

- Fill in blank

Màn hình tạo đề kiểm tra

Trang 14

Màn hình tạo câu hỏi matching question

Trang 15

Màn hình tạo câu hỏi trắc nghiệm

Trang 16

Màn hình quản lý danh sách đề kiểm tra

2 Thực hiện

Các thành viên của team internship:

- Nguyễn Vân Phượng Anh

- Lê Hoàng Hiệp

- Hồ Anh Khiết

- Huỳnh Phương Thức

- Trần Đức Nguyên

Và sự giúp đỡ tận tình của anh Kha, anh Hoàng và anh Chương

3 Kế hoạch

Sprint:

- Thiết kế giao diện UI cho các chức năng bằng Figma

- Viết xử lý backend cho chức năng tạo các loại câu hỏi mới (matching, fill in blank, true/false)

- Hiện thực front-end cho các màn hình chức năng

Trang 17

Kết quả :

- Một số tính năng có sẵn đã được cải thiện lại

- Sprint review lên hoạt động nhóm trong sprint vừa qua

- Điều chỉnh lại giao diện so với bản gốc của công ty

- Đã hoàn thành công việc như role đã giao

TÀI LIỆU THAM KHẢO

Ruby on Rails

https://rubyonrails.org/

ReactJS

https://reactjs.org/

Instructure UI

https://instructure.design/

Design resources

https://unsplash.com/

https://www.figma.com/

https://www.freepik.com/

TỔNG KẾT

Trong vòng 2 tháng ngắn ngủi, nhóm đã hoàn thiện thêm 1 phần vào website tạo bài kiểm tra online và thay đổi về mặt front-end visual, ngoài ra còn có một số mini-projects nhóm

em đã áp dụng được từ kiến thức đã học qua suốt quá trình thực tập như form thu thập thông tin sinh viên sử dụng Ruby On Rails

Chân thành cảm ơn sự giúp đỡ của các anh Kha và anh Hoàng, sự nỗ lực của nhóm thực tập thực hiện được điều này

Ngày đăng: 05/09/2021, 21:05

TỪ KHÓA LIÊN QUAN

w