Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,21 MB
Nội dung
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 FULL STACK WEB DEVELOPER Công ty thực tập: Người phụ trách: Thực tập sinh: TMA Solutions Lê Hồng Việt Vũ Tuấn Hải TP Hồ Chí Minh, tháng năm 2021 LỜI MỞ ĐẦU Trong cách mạng công nghiệp 4.0, công nghệ thông tin nói chung ngành Cơng nghệ phần mềm nói riêng ln nhân tố đóng vai trị quan trọng q trình phát triển xã hội Cơng nghệ Web, hay công nghệ sản xuất trang web phục vụ hầu hết nhu cầu người từ bán hàng, cung cấp kiến thức đến thông tin liên lạc, Hiện có đến 1.5 tỷ trang web, nhu cầu tạo trang web chưa có dấu hiệu giảm Do đó, trang web muốn nhiều người sử dụng phải đáp ứng yếu tố hình thức nội dung Làm để sản phẩm tạo đạt chất lượng cao hai yếu tố làm đội ngũ phát triển website cần phải suy nghĩ đau đầu Để thử thách thân ngành công nghiệp web, em lựa chọn Full stack web developer định hướng cho việc học nghề nghiệp tương lai Sau năm tháng môi trường đại học, với mong muốn áp dụng kiến thức học có trải nghiệm môi trường thực tế, em định tham gia vào TMA Solutions – môi trường lý tưởng chuyên nghiệp để thực dự định LỜI CẢM ƠN Em xin trân trọng gửi lời cảm ơn TMA Solutions tạo điều kiện cho em hội thực tập công ty Dù thời gian ngắn nhờ dẫn nhiệt tình anh Lê Hồng Việt anh Lê Đặng Quốc Cường, em tiếp thu kiến thức quan trọng để tham gia dự án thực tế Chân thành cảm ơn anh Lê Hồng Việt, anh Lê Đặng Quốc Cường anh chị team AxS Plano bỏ nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình làm quen môi trường việc tiếp cận kiến thức cơng nghệ, kỹ lập trình tư sản phẩm để thực tốt dự án cá nhân dự án thực tế thời gian qua Em xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo TP HCM, ngày 15 tháng năm 2021 Vũ Tuấn Hải 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 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu TMA Solutions 1.2 Sản phẩm công ty 1.3 Lịch làm việc thực tập công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Tìm hiểu cơng ty kỹ công ty 2.2 Nghiên cứu kỹ thuật 2.2.1 Tuần 2.2.2 Tuần 2.2.3 Tuần 2.2.4 Tuần 2.3 Thực dự án cá nhân 2.3.1 Công nghệ 2.3.2 Mô tả dự án 2.3.3 Kết [1] [2] [3] [4] 16 2.4 Tham gia dự án thực tế 17 CHƯƠNG 3: TỔNG KẾT 18 TÀI LIỆU THAM KHẢO 19 CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu TMA Solutions Hình 1.1 Logo TMA Solutions TMA Solutions (gọi tắt TMA, tiếng Việt: Công ty TNHH Giải Pháp Phần Mềm Tường Minh) công ty Việt Nam, kinh doanh dịch vụ liên quan đến phát triển phần mềm Công ty có trụ sở (6 Lab) đặt TP Hồ Chí Minh trụ sở đặt TP Quy Nhơn, ngồi cịn có nhiều sở khác Mỹ, Canada, Úc, châu Âu, … với số lượng nhân viên xấp xỉ 3000 Theo đánh giá VINASA vào năm 2020, TMA Top 10 doanh nghiệp xuất phần mềm, Fintech AI & IoT 1.2 Sản phẩm công ty Hiện nay, TMA Solution chuyên cung cấp dịch vụ, bao gồm: Visual Design, Software Testing, Porting & Migration, Production Support, IT Managed Services, Software Development giáp pháp cho nhiều lĩnh vực Telecom, Finance & Insurance, ECommerce, Retail & Distribution, Hospitality & Travel, … TMA Solutions đối tác tin cậy có nhiều năm kinh nghiệm thực dự án lớn phức tạp với công nghệ với 100 khách hàng đến từ 27 quốc gia giới 1.3 Lịch làm việc thực tập công ty Em tham gia làm việc công ty ngày 24/9/2020 tới 24/12/2020 ba ngày (Thứ – Thứ 4) / tuần Công việc ngày lúc 9:00 sáng tới 6:00 tối Thời gian nghỉ trưa khoảng tiếng rưỡi Sau ngày làm việc em báo cáo tiến độ công việc ngày, đặt câu hỏi nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu cho ngày làm việc Mỗi tuần họp tiến độ tuần lần vào sáng thứ 4, người họp bàn bạc vấn đề giải quyết, tồn đọng, học, giải pháp mục tiêu cho tuần Mỗi tháng tổ chức Toastmaster cho team lần vào sáng thứ tuần để người trao đổi chủ đề khoa học, xã hội, môi trường, … với hoàn toàn tiếng Anh CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 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, 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ừ cao xuống thấp, cách thức tổ chức cơng ty, phịng ban IT, HR, … Ngoài ra, thực tập sinh cịn giới thiệu văn hóa làm việc công ty thời gian làm, quy định, cách sử dụng email công việc, … Kết quả: hiểu thêm TMA Solutions, trình thành lập phát triển Có thêm kỹ việc sử dụng email cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm 2.2 Nghiên cứu kỹ thuật Vì có kiến thức lập trình Front – end trước đó, em cơng ty hướng dẫn nghiên cứu lập trình Back – end công nghệ J2EE chia làm giai đoạn vịng tháng 2.2.1 Tuần Nội dung: • • • Tìm hiểu khái niệm nâng cao Java (Design Pattern, Collection) Cách sử dụng công cụ Maven build IDE Eclipse Các thao tác với kiểu liệu JSON Kết [1]: thực tốt tập thực hành liên quan, sử dụng thành thạo chức Maven Eclipse, đáp ứng nhu cầu làm việc suốt quãng thời gian thực tập 2.2.2 Tuần Nội dung: − Tìm hiểu thư viện Log4J − Tìm hiểu sử dụng Docker − Nghiên cứu framework Java Spring Kết [1]: thực tốt tập thực hành liên quan Log4J Java Spring, sử dụng thành thạo chức Docker, đáp ứng nhu cầu làm việc suốt quãng thời gian thực tập 2.2.3 Tuần Nội dung: − Tìm hiểu vấn đề testing Java JUnit Mockito − Tìm hiểu RESTful API cách tạo RESTful API Java Spring − Tìm hiểu sử dụng MySQL Kết [1] [2]: thực tốt tập thực hành liên quan Junit, Mockito RESTful API Hiểu sử dụng thành thạo MySQL để tạo truy vấn CSDL 2.2.4 Tuần Nội dung: − Tìm hiểu thư viện FreeMaker − Tìm hiểu sử dụng Hibernate trình truy vấn CSDL − Nghiên cứu kiến trúc Microservices Kết [1] [2] [3]: thực tốt tập thực hành liên quan FreeMaker Hibernate Hiểu tạo ứng dụng minh họa kiến trúc Microservices 2.3 Thực dự án cá nhân Sau nắm kiến thức lập trình Backend cơng nghệ J2EE Em phân cơng tạo website hồn chỉnh vịng tuần Website có tên Music Manager, web application cho phép người dùng truy cập thư viện nhạc, quản lý hát danh mục liên quan thao tác lấy, thêm, xóa sửa (Create, Read, Update and Delete (CRUD)) Người dùng sử dụng trình duyệt máy tính, điện thoại, … hay thiết bị kết nối Internet để truy cập vào ứng dụng Phương thức giao tiếp Client Server RESTful 2.3.1 Cơng nghệ Về phía Server triển khai server TomCat, sử dụng Spring Boot + IOC + AOP để thực thi API, sử dụng Hibernate + HQL + POJO để giao tiếp với CSDL Server có sử dụng số mẫu thiết kế Singleton, Factory, Decorator, Proxy Adapter để đảm bảo Clean code Về phía Client triển khai dịch vụ Vercel, sử dụng library ReactJS kết hợp Redux, Bootstrap API Fetch Về phần testing, dự án có sử dụng JUnit Mockito để đạt độ coverage 90% Về phần Database triển khai MySQL 2.3.2 Mô tả dự án Yêu cầu chung: − Server: sử dụng RESTful API − Client: tất bảng phải có Pagination Sort Header, giao diện thêm / sửa phải thực Modal phải có Message Box Tất cập nhật từ Clinet khác tự cập nhật đến Client lại − Testing: coverage code phải 90% 2.3.2.1 Trang chủ Hiển thị danh sách hát bao gồm tên, ngày phát hành, thể loại, ca sĩ, … Người dùng thêm mới, chỉnh sửa xóa hát cơng cụ − Người dùng thêm hát vào Playlist riêng gỡ muốn − Khi thực thao tác xóa, thơng báo xuất để yêu cầu người dùng xác nhận lần nữa, hát muốn xóa có Playlist thao tác xóa thất bại Hình 2.1 Giao diện trang chủ Hình 2.2 Giao diện chức thêm hát 10 Hình 2.3 Giao diện chức sửa hát Hình 2.4 Giao diện thơng báo xóa hát 2.3.2.2 Trang quản lý danh mục thể loại Hiển thị danh sách thể loại số lượng hát thuộc thể loại − Khi xóa thể loại, có thơng báo u cầu người dùng xác nhận lần Nếu có hát thuộc thể loại muốn xóa, thao tác xóa thất bại 11 − Khi thêm thể loại, Server cần phải kiểm tra thể loại tồn hay chưa (bao gồm hoa lẫn thường) Hình 2.5 Giao diện danh sách thể loại Hình 2.6 Giao diện thêm thể loại 12 Hình 2.7 Giao diện sửa thể loại Hình 2.8 Giao diện xóa thể loại 2.3.2.3 Trang quản lý nhạc sĩ / ca sĩ Hiển thị danh sách nhạc sĩ / ca sĩ số lượng hát họ sáng tác / hát Người dùng xem thông tin chi tiết nhạc sĩ / ca sĩ − Khi xóa nhạc sĩ / ca sĩ, có thơng báo u cầu người dùng xác nhận lần Nếu có hát nhạc sĩ sáng tác / ca sĩ hát muốn xóa, thao tác xóa thất bại 13 Hình 2.9 Giao diện danh sách nhạc sĩ Hình 2.10 Giao diện chỉnh sửa thơng tin nhạc sĩ 14 Hình 2.11 Giao diện danh sách ca sĩ 2.3.2.4 Trang quản lý Playlist Hiển thị danh sách hát người dùng u thích − Người dùng xóa hát khỏi danh mục yêu thích Khi thực thao tác này, có thơng báo u cầu người dùng xác nhận lần Hình 2.12 Giao diện danh sách hát u thích 15 Hình 2.13 Giao diện xóa hát u thích 2.3.2.5 Trang thơng tin chi tiết ca sĩ Hiển thị thông tin chi tiết ca sĩ danh sách hát họ trình diễn Hình 2.14 Giao diện thơng tin chi tiết ca sĩ 2.3.3 Kết [1] [2] [3] [4] Website tạo hoàn chỉnh với đầy đủ chức đáp dứng tất yêu cầu đề 16 2.4 Tham gia dự án thực tế Sau nhận nhận phản hồi tốt dự án làm đến từ anh Lê Đặng Quốc Cường Em anh Lê Hồng Việt phân công tham gia vào dự án thực tế với vai trò developer, team bao gồm ba thành viên khác 17 CHƯƠNG 3: TỔNG KẾT Quãng thời gian thực tập TMA Solutions giúp em cải thiện thân nhiều quy trình làm việc thực tế, tác phong người kỹ sư phần mềm Được làm việc đây, em học thêm kỹ mềm sử dụng mail, quản lý ticket, làm việc nhóm, giao tiếp với cấp trên, … Chỉ thời gian hạn chế, em hoàn thành dự án cá nhân q trình training với tính năng, u cầu đặt ban đầu Ứng dụng sử dụng công nghệ thiết kế theo RESTful API nên đảm bảo việc mở rộng tính năng, testing, bảo trì thuận lợi tương lai Khi tham gia vào dự án thực tế, em hoàn thành tốt tác vụ hạn đạt chất lượng tốt 18 TÀI LIỆU THAM KHẢO Java OOPs Concepts: https://www.javatpoint.com/java-oops-concepts Collections in Java: https://www.javatpoint.com/collections-in-java Maven Tutorial: https://www.tutorialspoint.com/maven/index.htm JSON: https://www.w3schools.com/js/js_json_intro.asp log4J Tutorial: https://www.tutorialspoint.com/log4j/index.htm Docker Tutorial For Beginners: A Step-by-Step Guide: https://www.simplilearn.com/tutorials/docker-tutorial Git Tutorial: https://www.tutorialspoint.com/git/index.htm Java Spring: − − − − https://www.tutorialspoint.com/spring/index.html https://turreta.com/2017/07/09/autowire-beans-to-a-list-in-spring-using-java/ https://huongdanjava.com/vi/bean-autowiring-su-dung-autowired-annotation.html https://www.tutorialspoint.com/spring/spring_dependency_injection.htm JUnit Tutorial − https://www.javatpoint.com/junit-tutorial − https://www.tutorialspoint.com/junit/index.htm − https://www.vogella.com/tutorials/JUnit/article.html 10 Mockito Tutorial − https://www.tutorialspoint.com/mockito/index.htm − https://www.baeldung.com/mockito-series − https://www.vogella.com/tutorials/Mockito/article.html 11 RESTful API Tutorial − https://spring.io/guides/gs/rest-service/ − https://spring.io/guides/tutorials/rest/ − https://www.journaldev.com/9170/restful-web-services-tutorial-java 12 FreeMarker Tutorial − https://freemarker.apache.org/docs/pgui_quickstart.html − https://www.baeldung.com/freemarker-operations 19 − https://www.baeldung.com/freemarker-in-spring-mvc-tutorial − https://o7planning.org/en/11547/spring-boot-and-freemarker-tutorial 13 Microservice Basics − − − − https://www.tutorialspoint.com/microservice_architecture/index.htm https://www.guru99.com/microservices-tutorial.html https://microservices.io/ https://www.edureka.co/blog/microservices-tutorial-with-example 20 ... nghiệp web, em lựa chọn Full stack web developer định hướng cho việc học nghề nghiệp tương lai Sau năm tháng môi trường đại học, với mong muốn áp dụng kiến thức học có trải nghiệm môi trường thực. .. GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu TMA Solutions 1.2 Sản phẩm công ty 1.3 Lịch làm việc thực tập công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP ... thao tác với kiểu liệu JSON Kết [1]: thực tốt tập thực hành liên quan, sử dụng thành thạo chức Maven Eclipse, đáp ứng nhu cầu làm việc suốt quãng thời gian thực tập 2.2.2 Tuần Nội dung: − Tìm hiểu