Sử dụng ReactJS để xây dựng ứng dụng quản lý sinh viên

MỤC LỤC

CÔNG NGHỆ TRONG ỨNG DỤNG

TÌM HIỂU REACTJS

    Nó được thiết kế để tối ưu hóa việc xây dựng các ứng dụng đơn trang (Single Page Applications - SPAs) thông qua việc quản lý trạng thái của ứng dụng và tái sử dụng các thành phần giao diện. • Lifecycle methods (Phương thức vòng đời): React cung cấp một số phương thức vòng đời cho các thành phần, như componentDidMount, componentDidUpdate, và componentWillUnmount, giúp bạn thực hiện các hành động trong quá trình mount, update, và unmount của thành phần. • React Router: Thư viện giúp quản lý định tuyến trong ứng dụng React, cho phép bạn chuyển đổi giữa các trang mà không cần tải lại toàn bộ trang web ReactJS giúp tạo ra các ứng dụng web hiệu quả, dễ duy trì và mở rộng, đặc biệt là khi xử lý các ứng dụng đơn trang và có nhu cầu cập nhật trạng thái linh hoạt.

    • Phức tạp cho các ứng dụng lớn: Với các ứng dụng lớn, quản lý trạng thái và luồng dữ liệu có thể trở nên phức tạp hơn và đòi hỏi việc sử dụng thư viện bổ sung hoặc quy trình quản lý trạng thái (state management) như Redux. • Cần kết hợp với các thư viện khác: Đối với một ứng dụng hoàn chỉnh, bạn có thể cần sử dụng các thư viện bổ sung như React Router, Redux, hoặc Axios, điều này có thể làm tăng độ phức tạp của dự án. • Hệ sinh thái của React: React không chỉ là một thư viện đơn lẻ, mà còn là một phần của hệ sinh thái phong phú với nhiều công cụ hỗ trợ như React Router, Redux, Next.js, và nhiều thư viện khác để giải quyết các vấn đề khác nhau trong quá trình phát triển.

    • Phù hợp với ứng dụng đơn trang (SPA): React rất phù hợp với việc xây dựng ứng dụng đơn trang, nơi mà việc tải lại trang web không cần thiết, và chỉ cần cập nhật các phần cần thiết của trang.

    TÌM HIỂU MYSQL

      • Hỗ trợ từ Facebook: React được Facebook phát triển và duy trì, điều này đồng nghĩa với việc nó nhận được sự chú ý và phát triển liên tục từ một tổ chức lớn. Tuy nhiên, lựa chọn giữa các công nghệ phụ thuộc vào nhiều yếu tố như yêu cầu cụ thể của dự án, kinh nghiệm của đội ngũ phát triển, và các yếu tố khác của dự án. • SQL (Structured Query Language): Là ngôn ngữ truy vấn cơ sở dữ liệu được sử dụng để thực hiện các thao tác như truy vấn dữ liệu, cập nhật dữ liệu, chèn dữ liệu, và xóa dữ liệu.

      • Quyền (Privilege): Là quyền hạn được cấp cho người dùng để thực hiện các thao tác nhất định trên cơ sở dữ liệu, ví dụ như SELECT, INSERT, UPDATE, DELETE. ● Khả năng mở rộng có hạn: Trong môi trường có lượng truy cập rất lớn, việc mở rộng MySQL có thể trở thành thách thức, và mô hình mở rộng của nó không linh hoạt như một số hệ thống cơ sở dữ liệu khác. ● Chưa hỗ trợ đầy đủ JSON: Mặc dù MySQL 5.7 và phiên bản mới hơn hỗ trợ một số tính năng JSON, nhưng vẫn có một số hạn chế so với các hệ quản trị cơ sở dữ liệu khác.

      ● Bản quyền và chủ quyền: Dù MySQL là một hệ quản trị cơ sở dữ liệu miễn phí, nhưng có các phiên bản cao cấp và tính năng chưa đầy đủ trong bản miễn phí, điều này có thể tạo ra chi phí cho các doanh nghiệp muốn sử dụng các tính năng cao cấp.

      TÌM HIỂU JAVA

        ● Thời gian phát triển chậm: Một số tính năng mới có thể mất thời gian để được thêm vào MySQL so với một số hệ quản trị cơ sở dữ liệu khác. Spring Boot là một dự án con của Spring Framework, được thiết kế để giúp lập trình viên xây dựng ứng dụng Java một cách nhanh chóng và dễ dàng. • Spring giúp giải quyết các vấn đề như quản lý IoC (Inversion of Control), Dependency Injection, và các khái niệm hướng đối tượng.

        • Spring Boot đi kèm với các server như Tomcat, Jetty, hoặc Undertow tích hợp sẵn, giúp bạn có thể chạy ứng dụng mà không cần phải cấu hình server riêng. • Spring Boot Starter là các dependency được đóng gói sẵn giúp bạn bắt đầu với các loại ứng dụng cụ thể như web, data, security một cách nhanh chóng. • Hỗ trợ trong quá trình phát triển bằng cách cung cấp tái khởi động tự động, tải lại trình duyệt, và các tính năng khác.

        • Spring Boot thường được sử dụng trong kiến trúc microservices, giúp phát triển và triển khai các dịch vụ nhỏ và độc lập.

        MÔ HÌNH USE-CASE

        • ĐẶC TẢ CÁC USE-CASE

          Cho phép Admin/ BU lead/ Trainer/ Trainee xem chi tiết danh sách Chương trình đào tạo 18 Update Training Program Cho phép Admin cập nhật Chương trình đào tạo. Update class Cho phép Admin cập nhật lớp các thông tin training program, training schedule, list of. AC4: Tại màn hình danh sách giáo trình, Người dùng có thể sắp xếp danh sách giáo trình bằng cách nhấn vào biểu tượng sắp xếp bên cạnh tên cột trường.

          AC4: Tại màn hình danh sách giáo trình, Người dùng có thể sắp xếp danh sách giáo trình bằng cách nhấn vào biểu tượng sắp xếp bên cạnh tên cột trường. AC1: Tại màn hình Syllabus, Người dùng có thể đọc thông tin giáo trình bằng cách nhấp vào ode or name trên danh sách giáo trình để chuyển đến màn hình thông tin chi tiết giáo trình. AC4: Tại màn hình thông tin chi tiết giáo trình, mặc định phiên bản hiển thị của giáo trình là phiên bản mới nhất.

          AC1: Tại màn hình danh sách giáo trình, Người dùng có thể tải lên tệp Excel/CSV để tạo giáo trình theo 3 tùy chọn kiểm soát trùng lặp bao gồm allow, replace, and skip bằng cách nhấp vào nút nhập. AC1: Tại màn hình thông tin chi tiết giáo trình, khi người dùng nhấp vào nút quản lý giáo trình, Người dùng có thể sao chép giáo trình từ phiên bản đang xem. Sau khi sao chép, hãy chuyển đến màn hình Danh sách giáo trình với một giáo trình mới được thêm vào (được sắp xếp theo ngày tạo trong DESC và giáo trình tương ứng ở chế độ “Drafting”.

          AC4: Tại màn hình danh sách chương trình đào tạo, Người dùng có thể sắp xếp danh sách chương trình đào tạo bằng cách nhấn vào biểu tượng sắp xếp bên cạnh tên cột trường. AC1: Người dùng có thể nhấp vào tên từng chương trình đào tạo trong danh sách chương trình đào tạo để chuyển hướng đến màn hình chi tiết chương trình đào tạo. AC3: Các trường hiển thịprogram name, General information, estimated duration, list of syllabuses, status, list of classes of training program (đối với danh sách các lớp, chỉ xem trạng thái ". Active " cho học viên và giảng viên xem, tất cả trạng thái cho quản trị viên).

          AC3: Mỗi lần người dùng add/removesyllabus in training program, chương trình đào tạo cụ thể sẽ nâng cấp phiên bản mới với danh sách giáo trình mới. Luồng cơ bản AC1: Active/inactive trong màn hình chi tiết chương trình đào tạo 1.4.20 Đặc tả Use-case “View list of class”.

          THIẾT KẾ GIAO DIỆN

          DANH SÁCH MÀN HÌNH

          18 Màn hình update class Màn hình cho phép người dùng chỉnh sửa lại thông tin chi tiết class.

          CHI TIẾT MÀN HÌNH

            Có hình và nhấn vào button máy ảnh 2 Fullname Text Text Hiển thị tên của user Nhấn vào trang. Tự động – Khi vào trang User Management 4 List Full Name Label Danh sách Full Name. Tự động – Khi vào trang User Management 5 List Date Of birth Label Danh sách DOB của.

            Tự động – Khi vào trang User Management 7 List User Type Label Danh sách User Type. 2 Name TextField Text Field Nhập tên của user Nhập nội dụng 3 Email TextField Text Field Nhập email của user Nhập nội dụng 4 Phone TextField Text Field Nhập số điện thoại. 2 Name TextField Text Field Nhập lại tên của user Nhập nội dụng 3 Email TextField Text Field Nhập lại email của.

            Button Có thề đóng mở Unit Nhấn vào Button 4 List NewContent Label Hiển thị danh sách. Syllabus Nhấn vào Button 9 Previous Button Button Quay lại page General Nhấn vào Button 10 Cancel Button Button Sẽ tới trang View. Tự động – Khi vào trang View Class 5 List Class Code Label Danh sách tên code.

            Tự động – Khi vào trang View Class 6 List Create By Label Danh sách tên người. TextFaild Text Faild Nhập code của class Nhập nội dung 2 Start Time Time Chọn giờ bắt đầu vào.

            Hình hình7.2.17.1
            Hình hình7.2.17.1

            MÔI TRƯỜNG TRIỂN KHAI VÀ PHÁT TRIỂN

            TỔNG KẾT

            HƯỚNG PHÁT TRIỂN

            ● Cải thiện hơn nữa về UI, giúp người dùng có trải nghiệm tốt nhất với ứng dụng. ● Tái cấu trúc, xây dựng cơ sở dữ liệu thích hợp hơn, linh động và đa dạng để cung cấp cho ứng dụng tốt nhất.

            LINK SOURCE CODE VÀ TÀI LIỆU THAM KHẢO