Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
4,92 MB
Nội dung
0 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 LẬP TRÌNH ỨNG DỤNG WEB VỚI JAVA SPRING BOOT Công ty thực tập : Công ty TNHH Phần mềm FPT Người phụ trách : Thạc sĩ - Kĩ sư Âu Mậu Dương Thực tập sinh : Bùi Như Phước TP Hồ Chí Minh, tháng 12 năm 2022 Bùi Như Phước LỜI MỞ ĐẦU Ngày nay, với phát triển mạnh mẽ Internet, vai trò website ứng dụng web trở nên rõ ràng hết tất lĩnh vực, tính đến năm 2021, có 1,8 tỷ website hoạt động Internet Có thể nói, Website sản phẩm tốt internet mang đến lợi ích vô to lớn đem lại nhiều hội cho người sử dụng Với đặc điểm ưu việt, website áp dụng triệt để công tác quảng bá, quảng cáo, quản lý, xây dựng thương hiệu cho doanh nghiệp Chỉ riêng Việt Nam, có 42% doanh nghiệp xây dựng website riêng số liên tục tăng mạnh qua nhiều năm Với nhu cầu đó, việc xây dựng phát triển ứng dụng web ngày trọng nhiều framework đời để hỗ trợ điều điển hình Java Spring Boot Trước thị trường xây dựng website phát, ngày nhiều công ty đời công ty phần mềm chuyên thiết kế website uy tín Việt Nam khơng thể khơng nhắc đến Cơng ty TNHH Phần mềm FPT Chính cần thiết nhu cầu xây dựng website, webapp tăng nhanh, việc làm tuyển dụng kỹ sư lập trình web ngày nhiều Vì lý đó, em định lựa chọn đường lập trình web định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm webapp môi trường chuyên nghiệp, em có dự định thực tập hè Vì vậy, em định chọn FPT software - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định Bùi Như Phước LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH Phần mềm FPT tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer anh Âu Mậu Dương, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm webapp Chân thành cảm ơn anh chị nhóm trainer 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 Đặc biệt cảm ơn anh Âu Mậu Dương, hướng dẫn kĩ phần tảng lý thuyết tập trung kỹ quan trọng giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường mới; cảm ơn anh Thành training module Spring boot, hỗ trợ chúng em nhiều vấn đề kỹ thuật áp dụng vào dự án thực tế; cảm ơn chị Phạm Hồng Thắm, dẫn chúng em cách viết mail, cách làm báo cáo, lên kế hoạch, kỹ năng, văn hóa khơng thể thiếu công sở Em xin cảm ơn quý 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 Bùi Như Phước Bùi Như Phước TP HCM, ngày 23/12/2022 NHẬN XÉT CỦA KHOA Bùi Như Phước MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN MỤC LỤC Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty TNHH phần mềm FPT (FPT Software) 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 ∙ Các cơng cụ làm việc ∙ Tìm hiểu SQL Microsoft SQL server ∙ Tìm hiểu ngơn ngữ Java core ∙ Lập trình Frontend với HTM, CSS JS 10 ∙ Tìm hiểu Spring Framwork Hibernate, Spring JPA 10 ∙ Lập trình Spring boot Spring Security 11 Thực project 12 Lịch làm việc 12 Chương 3: Chi tiết project 14 Tên đề tài mô tả 14 Lý chọn đề tài nhu cầu thực tế 14 Phạm vi thực 14 Nội dung nghiên cứu 14 Phương pháp thực 15 Mơ tả tính 16 Sơ đồ ERD 16 Hình ảnh giao diện 17 Bùi Như Phước CHƯƠNG 4: TỔNG KẾT 21 Bùi Như Phước Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty TNHH phần mềm FPT (FPT Software) Cơng ty TNHH phần mềm FPT (hay cịn biết đến với tên gọi FPT Software) thành lập ngày 13/01/1999, thành viên Tập đoàn FPT FPT Software đời với hướng chiến lược xuất dịch vụ phần mềm, trở thành mắt xích quan trọng giúp tập đồn viết tiếp giấc mơ tồn cầu hóa, đưa trí tuệ Việt vươn giới Hiện FPT Software đáp ứng nhu cầu gia công phần mềm lớn cho 150 công ty hàng đầu 20 quốc gia lớn giới với hợp đồng lớn có đạt triệu USD dành cho số đối tác lớn Hitachi, NEOPOST, Petronas, Deutsche Bank, Unilever với 4000 nhân viên toàn giới FPT Software theo đuổi mục tiêu gia công phần mềm để đáp ứng cho nhu cầu phát triển CNTT hãng phần mềm nước, công ty lớn nước tham vọng xuất phần mềm tồn giới cho cơng ty nước ngồi biết đến tập đồn FPT, mục đích vươn đến tầm cao thông qua công nghệ nhằm nâng cao suất lao động Sản phẩm công ty Với bề dày gần 26 năm việc tạo dựng phát triển mơ hình kinh doanh quy mơ lớn lĩnh vực phần mềm, FPT Software cung cấp dịch vụ đạt tiêu chuẩn quốc tế mảng: ● Dịch vụ phần mềm truyền thống (Application Services, Business Application Services, Legacy Migration, Testing & BPO); ● Dịch vụ Digital Age services (Cloud, Mobility, Analytics & Internet of Things) ● Dịch vụ Product Engineering bao gồm Embedded System, CAD/CAM IC Design Bùi Như Phước Với tham vọng trở thành công ty hướng dẫn đổi công nghệ, cam kết đem lại hài lịng cao cho khách hàng, góp phần vào phát triển thịnh vượng quốc gia cung cấp cho nhân viên môi trường làm việc thuận lợi nhất, FPT Software tạo nên khác biệt cho nhờ yếu tố: ● ● ● ● ● Chất lượng dịch vụ đạt chuẩn giới Đáp ứng nhu cầu khắt khe công ty hàng đầu Luôn đầu công nghệ Nguồn nhân lực chuyên nghiệp Giá thành cạnh tranh Bùi Như Phước Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “LẬP TRÌNH ỨNG DỤNG WEB VỚI JAVA SPRING BOOT” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình ứng dụng web java spring framework, đồ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 phát triển phần mềm chun nghiệp Tìm hiểu cơng ty kỹ công ty 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 (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ông ty Ngồi ra, thực tập sinh cịn 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ủ, cách sử dụng email công việc… Kết : Hiểu thêm cơng ty, q 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 Nghiên cứu kỹ thuật ● Các công cụ làm việc Nội dung : Tìm hiểu cơng cụ sử dụng 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 cơng cụ giúp ích cho cơng việc sau Các công cụ IDE sử dụng Microsoft SQL Server để quản lý database, Eclipse IntelliJ để lập trình java spring boot, ngồi cịn số cơng cụ khác Github, SourceTree, Docker, DBeaver để hỗ trợ trình thực dự án Thực : Thực hành sử dụng phần mềm nêu Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với nhau, so với việc dung IDE ● Tìm hiểu SQL Microsoft SQL server Nội dung training: o Database Concepts ER Model o Giới thiệu SQL SQL Server o DML Statements o Advance DML Statements o SQL Joins o Sub-Queries thực hành Bùi Như Phước Thực hiện: Tham gia đầy đủ buổi training công ty Làm thực hành, kiểm tra kiến thức học Kết : Nắm kiến thức SQL Áp dụng xây dựng sở liệu cho dự án Có kiến thức vấn SQL ● Tìm hiểu ngơn ngữ Java core Nội dung : Được training gần tất kiến thức cần thiết java core, chi tiết gồm có: Java Introduction Control Flow Statements Classes and Object OOP in Java Java Polymorphism and Abstraction String and Collections Java Set Collection Java Map Collection Exception Handing in Java Basic Java IO Database Programming with JDBC Java Application Debugging Coding Conventions and Best Practices Testing with JUnit in Java Trong đó, thực tập sinh tập trung kĩ vào phần như: o Lập trình hướng đối tượng: Các kiến thức lập trình hướng đối tượng khái niêm, đặc tính tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngồi ra, thực tập sinh hướng dẫn cách thiết kế lớp Java web o Java collection: tìm hiểu collection interface Java Set, List, Queue, Map, nắm khái niệm cách sử dụng, áp dụng cho trường hợp cần thiết o Kiến trúc JDBC: học cách dùng JDBC API dùng để kết nối thực thi câu lệnh SQL xuống database o Debugging Testing với Unit test Java: học cách debug eclipse cách test ứng dụng Java Unit Test o Coding convention: học cách đọc coding convention công ty áp dụng vào project thực tế Thực : Tham gia đầy đủ buổi training công ty Làm thực hành, kiểm tra kiến thức học Bùi Như Phước 10 Kết : Nâng cao kỹ lập trình với ngơn ngữ Java Có kiến thức quan trọng cho việc lập trình web app sau Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu ● Lập trình Frontend với HTM, CSS JS Nội dung: Các kiến thức HTML, CSS JS, từ áp dụng vào tạo giao diện website cá nhân sẵn sàng học lên Framework đại Nội dung trainning chi tiết gồm có: o HTML/CSS o Bootstrap o Bootstrap Common Components o JavaScript o jQuery Ajax Cụ thể, thực tập sinh tập trung vào phần sử dụng Bootstrap Jquery để tạo giao diện tương tác với người dùng nhận API từ phía backend Thực hiện: Tham gia đầy đủ buổi training công ty Làm thực hành, kiểm tra kiến thức học Kết quả: Trang bị kiến thức tảng HTML, CSS JS để học tiếp Framework dành cho Frontend Tự xây dựng giao diện project ● Tìm hiểu Spring Framwork Hibernate, Spring JPA Nội dung: chi tiết gồm phần: Về Hibernate: o Hibernate Introduction o Hibernate Mapping o Queries o Criteria o Hibernate Validator o Hibernate Caching Về Spring JPA: o JPA gì? o Tại nên sử dụng JPA? Bùi Như Phước 11 o Tính JPA o Kiến trúc JPA o Mối quan hệ class JPA o Triển khai JPA o Object-Relation Mapping (ORM) o Phiên JPA o Sự khác biệt JPA Hibernate o Dữ liệu khởi động Spring Boot JPA o Ví dụ Spring Boot JPA Nội dung học tập trung nhiều đến phần Spring JPA áp dụng vào project mẫu để thao tác với liệu Thực hiện: Tham gia đầy đủ buổi trainning Làm tập thực hành thêm, xóa, sửa đối tượng Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết quả: Nắm cách hoạt động Spring JPA Áp dụng để thao tác với sở liệu JPA ● Lập trình Spring boot Spring Security Nội dung: Các kiến thức Spring Boot Spring Security Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : - Có thể xây dựng trang web CRUD Login phân quyền bảo mật với JWT Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực Java Spring boot Trong tháng thứ hai ba, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực website java spring boot Chi tiết đồ án nói phần sau Lịch làm việc Tuần Công việc Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn Bùi Như Phước 12 Tìm hiểu cơng ty, cách tổ chức cơng ty Làm quen với công cụ làm việc công ty Học cách trao đổi, làm việc qua email Tìm hiểu ngơn ngữ lập trình Java nâng cao Thực hành Java Làm test Java Tìm hiểu công nghệ thực Frontend HTML, CSS, JS Thực hành số giao diện Load data từ Api mẫu Tìm hiểu Spring Framwork Hibernate, Spring JPA Tìm hiểu lập trình Spring boot Giai đoạn thực project: Xây dựng vẽ sơ đồ database, kết nối với project spring JPA Viết lớp quản lý Object, lớp Object Thiết kế giao diện quản lý admin đơn giản thymeleaf với bootstrap 5, HTML5, Jquery - Thiết kế giao diện client Thymeleaf Anh Âu Mậu Dương 100% Anh Âu Mậu Dương 100% Anh Âu Mậu Dương 100% Anh Âu Mậu Dương 100% Anh Âu Mậu Dương Anh Âu Mậu Dương 100% Anh Bùi Công Thành 100% Anh Bùi Công Thành 100% 100% Bùi Như Phước 13 10 11 12 - Bổ sung tính để tương tác với người dùng - Hồn thành tính cần thiết - Đăng nhập phân quyền với spring security - Thiết kế responsive cho website - Cập nhật tính bổ sung gửi thông báo email - Viết Unit test cho trang web fix bug Fix bug, xử lí validation exception kĩ Báo cáo cuối đợt thực tập Anh Bùi Công Thành 100% Anh Bùi Công Thành 100% Anh Bùi Công Thành Anh Bùi Công Thành 100% 100% Bùi Như Phước 14 Chương 3: Chi tiết project Tên đề tài mô tả Tên đề tài: Xây dựng website quản lý trường mầm non Mô tả đề tài: Website quản lý trường mầm non ứng dụng web xây dựng tảng Internet Được sử dụng phận quản lý, nhân viên trường mầm non giúp họ quảng bá trường học, thống kê, thực cơng tác quản lý học sinh, chương trình học, lớp học, thời khố biểu, đơn giản hố quy trình nhập học, tư vấn, đăng tải, chia sẻ thông tin, kiện trường hay kiến thức bổ ích cho quý phụ huynh Lý chọn đề tài nhu cầu thực tế Giáo dục mầm non cấp học hệ thống giáo dục, đặt móng cho phát triển tồn diện người Giáo dục mầm non nhằm phát triển tồn diện trẻ em thể chất, tình cảm, trí tuệ, thẩm mỹ, hình thành yếu tố nhân cách, chuẩn bị cho trẻ em vào học lớp Chính vậy, việc đầu tư mơi trường giáo dục mầm non chất lượng cho trẻ trở thành mối quan tâm lớn bậc phụ huynh dẫn đến ngày nhiều trường mầm non tư thục đời với nhiều chương trình học đổi sáng tạo, nhằm đem đến môi trường học tập phát triển tốt cho trẻ Và để quảng bá, giới thiệu mái trường đến với quý bậc phụ huynh tạo thuận tiện công tác quản lý nhà trường đơn giản hố quy trình nhập học, tư vấn, nhu cầu xây dựng website quản lý trường học ngày tăng lên lý em thực đề tài với mong muốn tạo sản phẩm hữu ích cho trường mầm non tư thục Phạm vi thực Đối tượng: Nhân viên quản lý, giáo viên, hiệu trưởng trường mầm non có nhu cầu xây dựng website để quảng bá trường học thực công tác quản lý cho trường Môi trường sử dụng: Bất kì thiết bị hỗ trợ trình duyệt Web truy cập Internet Nội dung nghiên cứu Nghiên cứu, tìm hiểu cơng nghệ Spring, Hibernate Thymeleaf Tìm hiểu best Bùi Như Phước 15 practices tương ứng với công nghệ áp dụng thực tế Nghiên cứu quy tắc thiết kế nhằm bảo mật liệu bảo vệ hệ thống khỏi công từ tác nhân bên Nâng cao củng cố kĩ xây dựng hệ thống chạy thực tế với quy mô vừa nhỏ Tìm hiểu trình vận hành trường mầm non tư thục, nắm quy trình nhập học, tư vấn, đơn giản hố đưa lên trang web Phương pháp thực Thực đề tài theo bước: ● Phân tích đề tài: Tìm hiểu khó khăn hạn chế việc quản lý phương pháp truyền thống, đồng thời đề xuất giải pháp dạng hệ thống tự động nhằm giúp quy trình diễn hiệu đơn giản ● Tham khảo số hệ thống tương tự nhiều trang Web khác ● Phân tích yêu cầu thu thập ● Nghiên cứu công nghệ để áp dụng ● Phát triển sản phẩm qua giai đoạn, đồng thời nhận ý kiến phản hồi ● Kiểm thử hoàn thiện ● Cài đặt môi trường để triển khai chạy thử nghiệm, sau chạy thực tế hệ thống ● Triển khai thiết kế hệ thống cách chuyên nghiệp, tối đa hố tính tái sử dụng, tính bảo trì hệ thống Những công nghệ sử dụng: ● IDE: o MySQL Workbench o IntelliJ IDEA ● Database: Bùi Như Phước 16 o MySQL o Google cloud ● Back-end: o Spring Boot o Spring JPA o Spring Security ● Front-end: o Thymeleaf o HTML5&CSS o Javascript Mơ tả tính Hệ thống cung cấp giải pháp hỗ trợ quản lý hữu ích cho trường mầm non: ● Hỗ trợ quản lý học sinh, chương trình học, lớp học, giáo viên, thời khoá biểu, viết, ● Với nhu cầu chia sẻ kiến thức hay đến bậc phụ huynh, hệ thống có tính đăng blog ● Với nhu cầu tối ưu hoá quy trình nhập học, tư vấn, hệ thống có tính đăng kí nhập học, tư vấn online có gửi thông báo nhắc nhở quản trị viên ● Với nhu cầu hỏi đáp, góp ý trường học, hệ thống cung cấp tính Bình luận đăng tính "liên hệ" để người dùng bày tỏ ● Ngồi ra, hệ thống cịn hỗ trợ phân quyền đăng nhập, thống kê nội dung quan trọng trường, hỗ trợ thông báo đế quản trị viên có nhu cầu tư vấn từ phụ huynh Sơ đồ ERD Bùi Như Phước 17 Hình ảnh giao diện - Giao diện client: Bùi Như Phước 18 Bùi Như Phước 19 - Giao diện quản lý admin Bùi Như Phước ... ỨNG DỤNG WEB VỚI JAVA SPRING BOOT? ?? nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình ứng dụng web java spring framework, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao... Microsoft SQL server ∙ Tìm hiểu ngơn ngữ Java core ∙ Lập trình Frontend với HTM, CSS JS 10 ∙ Tìm hiểu Spring Framwork Hibernate, Spring JPA 10 ∙ Lập trình Spring boot Spring Security 11 Thực project 12... hiểu thêm Kết quả: Nắm cách hoạt động Spring JPA Áp dụng để thao tác với sở liệu JPA ● Lập trình Spring boot Spring Security Nội dung: Các kiến thức Spring Boot Spring Security Thực : - Tham gia