Bối cảnh và vấn đề nghiên cứu
Trong xu hướng phát triển của xã hội, nhu cầu rèn luyện thể chất và giải trí thông qua môn bóng đá ngày càng tăng cao, thúc đẩy hoạt động kinh doanh sân bóng trở thành một lĩnh vực dịch vụ sôi động. Tuy nhiên, việc vận hành các sân bóng đơn lẻ hoặc chuỗi chi nhánh sân bóng đang đối mặt với nhiều bất cập khi sử dụng các phương thức quản lý thủ công hoặc bán tự động.
Theo khảo sát thực tế của tác giả trong đồ án, các chủ sân bóng thường xuyên gặp phải 4 nhóm thách thức cốt lõi:
- Khó khăn trong quản lý thông tin: Việc theo dõi dữ liệu chi tiết về sân bóng, tình trạng hoạt động thực tế, bảng giá thuê và các thông tin dịch vụ liên quan dễ rơi vào tình trạng phân tán, thiếu đồng bộ và tiêu tốn nhiều thời gian cập nhật.
- Thiếu hiệu quả trong quản lý đặt sân: Cơ chế tiếp nhận và theo dõi lịch đặt sân của khách hàng, đội bóng chưa linh hoạt, dễ dẫn đến hiện tượng trùng lịch hoặc xử lý sai sót yêu cầu thuê sân.
- Thiếu công cụ hỗ trợ tổ chức giải đấu: Các nghiệp vụ lập kế hoạch giải đấu, quản lý hồ sơ đội bóng, xếp lịch thi đấu và ghi nhận kết quả phần lớn thực hiện thủ công, gây khó khăn cho việc duy trì tính minh bạch và chuyên nghiệp.
- Khó khăn trong thống kê doanh thu: Việc tổng hợp số liệu thu chi, doanh thu theo từng chi nhánh và từng mốc thời gian đòi hỏi nhiều công sức, làm chậm tiến độ đưa ra các quyết định kinh doanh.
Trước thực trạng đó, đề tài "Xây dựng hệ thống quản trị sân bóng - Footex" được thực hiện nhằm xây dựng một nền tảng ứng dụng web tích hợp đa chức năng, phục vụ đồng thời cho công tác quản trị của chủ sân và nhu cầu đặt sân, sinh hoạt thể thao của người dùng.
Mục tiêu cụ thể của đồ án bao gồm 6 nhiệm vụ:
- Tối ưu hóa quy trình đặt sân: Xây dựng cơ chế tiếp nhận và xử lý đồng thời nhiều yêu cầu đặt sân, giảm thiểu thời gian thao tác cho người dùng.
- Xây dựng nền tảng quản lý đội bóng: Cung cấp chức năng tạo lập đội bóng, quản lý thành viên, lưu trữ lịch sử thi đấu và thành tích thể thao.
- Hỗ trợ tổ chức giải đấu: Thiết kế phân hệ quản lý giải đấu từ khâu đăng ký, lập lịch thi đấu đến cập nhật và công bố kết quả.
- Quản lý thông tin sân bóng chi tiết: Cho phép cập nhật tình trạng sân, bảng giá và gửi thông báo cảnh báo vận hành.
- Cung cấp thông tin trực quan cho khách hàng: Hiển thị chi tiết thông tin sân bãi, hình ảnh và hệ thống đánh giá khách quan.
- Đảm bảo chất lượng dịch vụ: Thiết lập quy trình kiểm duyệt tài khoản chủ sân và phân hệ tiếp nhận phản ánh, báo cáo vi phạm.
Phạm vi nghiên cứu của đề tài được xác định trên các khía cạnh:
- Đối tượng sử dụng: Gồm 3 nhóm tác nhân chính: Chủ sân bóng (quản lý sân, chi nhánh, giải đấu, doanh thu), Người chơi/Khách hàng (tìm kiếm, đặt sân, tạo đội bóng, tham gia giải đấu) và Quản trị viên hệ thống (kiểm duyệt tài khoản chủ sân, xử lý báo cáo).
- Phạm vi chức năng: Bao gồm 8 phân hệ chính: Quản lý sân bóng và đặt sân (cho khách trực tuyến và khách vãng lai), Quản lý chi nhánh, Tổ chức giải đấu, Quản lý đội bóng, Thống kê doanh thu, Tìm kiếm thông tin có bộ lọc, Báo cáo vi phạm và Phê duyệt tài khoản chủ sân.
- Phạm vi địa lý: Hệ thống định hướng thiết kế và triển khai áp dụng cho thị trường thể thao trên toàn quốc tại Việt Nam.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và công nghệ nền tảng
Đồ án ứng dụng các công nghệ, ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu hiện đại trong phát triển ứng dụng web full-stack:
- Thiết kế giao diện: Figma (hỗ trợ xây dựng giao diện người dùng, wireframe, prototype và làm việc cộng tác trực tuyến).
- Ngôn ngữ lập trình: HTML, CSS, JavaScript (xử lý logic phía máy khách, kế thừa các chuẩn ECMAScript) và TypeScript (siêu tập cú pháp bổ sung kiểu dữ liệu tĩnh nghiêm ngặt, hỗ trợ phát hiện lỗi trong quá trình biên dịch).
- Frontend Framework & Library: ReactJS (sử dụng cơ chế Virtual DOM tối ưu hóa tốc độ kết xuất giao diện) kết hợp cùng NextJS (hỗ trợ Server-Side Rendering - SSR giúp tăng hiệu suất tải trang, chia tách mã nguồn tự động và tối ưu hóa công cụ tìm kiếm SEO).
- Backend Framework: NodeJS (môi trường thực thi JavaScript phía máy chủ dựa trên V8 engine, hoạt động theo mô hình non-blocking, single-threaded, event-driven) kết hợp ExpressJS (framework xử lý định tuyến routing, cấu hình middleware và điều khiển lỗi).
- Hệ quản trị cơ sở dữ liệu: MongoDB (cơ sở dữ liệu NoSQL hướng tài liệu, lưu trữ dữ liệu dưới định dạng BSON, hỗ trợ lập chỉ mục Indexing, mở rộng ngang qua Sharding, tăng độ sẵn sàng dữ liệu qua Replication và xử lý thống kê bằng Aggregation).
- Công cụ phát triển và quản lý mã nguồn: Visual Studio Code (môi trường tích hợp mã nguồn đa nền tảng) và GitHub (quản trị phiên bản mã nguồn với Git).
| Thành phần kiến trúc |
Công nghệ / Công cụ sử dụng |
Vai trò trong hệ thống |
| Giao diện & Trải nghiệm (UI/UX) |
Figma |
Thiết kế mẫu giao diện, sơ đồ màn hình và prototype tương tác |
| Phát triển Phía máy khách (Frontend) |
ReactJS, NextJS, TypeScript, CSS |
Xây dựng giao diện hiển thị, kết xuất Server-Side Rendering (SSR) |
| Phát triển Phía máy chủ (Backend) |
NodeJS, ExpressJS |
Xây dựng RESTful API, định tuyến, kiểm soát logic nghiệp vụ và middleware |
| Lưu trữ dữ liệu (Database) |
MongoDB |
Lưu trữ dữ liệu hướng tài liệu (BSON), hỗ trợ truy vấn và thống kê |
| Môi trường & Quản lý phiên bản |
VS Code, GitHub |
Soạn thảo mã nguồn, quản lý kho lưu trữ và theo dõi phiên bản |
Quy trình và phương pháp nghiên cứu
Phương pháp xây dựng hệ thống phần mềm được thực hiện theo quy trình 5 bước kỹ thuật phần mềm chuẩn:
- Bước 1: Xác định yêu cầu: Tiến hành phân tích tính khả thi của quy mô dự án, nghiên cứu quy trình nghiệp vụ thực tế của các sân bóng, khảo sát người dùng qua mạng và thu thập các yêu cầu chức năng, phi chức năng.
- Bước 2: Thiết kế hệ thống: Xây dựng mô hình ca sử dụng (Use case diagrams) nhằm phân tích tổng quan và chi tiết hành vi của từng tác nhân trong hệ thống.
- Bước 3: Thiết kế dữ liệu: Xác định các thực thể dữ liệu, cấu trúc các trường thông tin trong từng bộ tài liệu (collection/bảng) của cơ sở dữ liệu MongoDB, thiết lập sơ đồ quan hệ logic đảm bảo tính toàn vẹn và hiệu năng truy xuất.
- Bước 4: Thiết kế giao diện: Xây dựng sơ đồ luồng liên kết màn hình cho từng vai trò người dùng (Chủ sân, Khách hàng, Quản trị viên) và mô tả các thành phần tương tác trên giao diện.
- Bước 5: Lập trình và kiểm thử: Tổ chức mã nguồn theo mô hình phân tầng, lập trình các ca sử dụng theo nhiệm vụ và thực hiện kiểm thử chức năng nhằm đánh giá tính chính xác và hiệu quả của hệ thống.
Thiết kế và triển khai
Hệ thống Footex được xây dựng dựa trên mô hình kiến trúc MVC (Model - View - Controller) kết hợp kiến trúc phân tầng, phân tách rõ ràng giữa tầng hiển thị giao diện, tầng xử lý logic nghiệp vụ và tầng lưu trữ dữ liệu.
+-------------------------------------------------------------+
| VIEW (NextJS / ReactJS) |
| - Màn hình Chủ sân - Màn hình Khách hàng - Màn hình Admin |
+-------------------------------------------------------------+
|
HTTP / RESTful API
|
+-------------------------------------------------------------+
| CONTROLLER & ROUTING (ExpressJS) |
| - Xác thực Middleware - Điều phối yêu cầu |
+-------------------------------------------------------------+
|
+-------------------------------------------------------------+
| MODEL (NodeJS / MongoDB) |
| - Logic nghiệp vụ - 15 Bộ tài liệu dữ liệu |
+-------------------------------------------------------------+
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của Footex được tổ chức thành 15 bảng (collections) chứa cấu trúc thuộc tính chi tiết phục vụ toàn diện các phân hệ nghiệp vụ:
| Tên bảng (Collection) |
Mục đích lưu trữ dữ liệu trong hệ thống Footex |
Owner |
Thông tin tài khoản, hồ sơ cá nhân và trạng thái phê duyệt của chủ sân bóng |
Guest |
Thông tin tài khoản người dùng, khách hàng và người chơi thể thao |
Branch |
Dữ liệu về các chi nhánh sân bóng trực thuộc quyền quản lý của chủ sân |
Field |
Thông tin chi tiết từng sân bóng (loại sân, giá thuê, tình trạng hoạt động) |
FieldBookedQueue |
Hàng đợi quản lý danh sách và trạng thái các yêu cầu đặt sân bóng |
Team |
Dữ liệu về các đội bóng do người dùng tạo lập (thành viên, ban quản lý) |
Match |
Lịch thi đấu, tỷ số và kết quả các trận đấu trong khuôn khổ giải |
Tournament |
Thông tin tổng quan về các giải đấu bóng đá do chủ sân tổ chức |
Goal Detail |
Chi tiết số bàn thắng, danh sách cầu thủ ghi bàn trong từng trận đấu |
Card Fine |
Dữ liệu ghi nhận thẻ phạt (thẻ vàng, thẻ đỏ) và tiền phạt tương ứng |
Prize |
Cơ cấu và danh mục giải thưởng của các giải đấu thể thao |
Rate |
Đánh giá sao và nhận xét của khách hàng đối với sân bóng, đội bóng |
Report |
Dữ liệu báo cáo vi phạm, khiếu nại liên quan đến sân bóng hoặc người dùng |
Invitement |
Danh sách các lời mời tham gia đội bóng gửi đến người chơi |
Invoice |
Dữ liệu hóa đơn thanh toán tiền thuê sân, xuất cho khách đặt sân |
Kiến trúc phân hệ giao diện
Hệ thống giao diện được thiết kế chuyên biệt cho 3 nhóm tác nhân thông qua 45 màn hình chức năng chính:
- Phân hệ Chủ sân bóng: Bao gồm các màn hình Đăng nhập, Đăng ký, Quên mật khẩu, Chọn chi nhánh, Bảng điều khiển (Dashboard), Quản lý sân, Tạo sân bóng mới, Quản lý giải đấu, Tạo giải đấu, Chi tiết giải đấu, Chi tiết trận đấu, Quản lý hóa đơn và Cài đặt tài khoản.
- Phân hệ Khách hàng: Bao gồm Trang chủ, Danh sách sân bóng, Chi tiết sân bóng, Danh mục giải đấu, Chi tiết và Đăng ký tham gia giải đấu, Danh sách chi nhánh, Chi tiết chi nhánh, Quản lý đội bóng, Chi tiết đội bóng, Hồ sơ cá nhân, Chỉnh sửa hồ sơ, Danh sách đội bóng đã tạo/đã tham gia, Quản lý lời mời tham gia và Tạo đội bóng mới.
- Phân hệ Quản trị viên (Admin): Bao gồm Màn hình đăng nhập quản trị, Danh sách và phê duyệt tài khoản chủ sân, Danh sách quản lý chi nhánh, Danh sách quản lý đội bóng, Danh sách quản lý khách hàng và Màn hình tiếp nhận, xử lý báo cáo vi phạm.
Nội dung chính theo từng chương
Chương 1. Giới thiệu đề tài
Chương 1 thiết lập bức tranh tổng quan về đề tài, tập trung phân tích bối cảnh chuyển dịch kinh doanh sân cỏ nhân tạo và thể thao phong trào. Tác giả chỉ ra những khó khăn thực tế của các bên liên quan, từ đó đề xuất giải pháp nền tảng web Footex. Nội dung chương xác định cụ thể 6 mục tiêu phát triển hệ thống, phân loại 3 đối tượng người dùng, định hình phạm vi nghiên cứu (chức năng, địa lý toàn quốc, khoa học công nghệ) và phác thảo quy trình thực hiện đồ án qua 5 giai đoạn từ khảo sát đến kiểm thử.
Chương 2. Thiết kế giao diện người dùng Figma
Chương này đóng vai trò là cơ sở lý thuyết công nghệ của đồ án. Tác giả trình bày tổng quan, cách thức hoạt động, ưu điểm và nhược điểm của các công cụ và nền tảng kỹ thuật được lựa chọn:
- Figma: Công cụ thiết kế giao diện đám mây, hỗ trợ làm việc cộng tác thời gian thực.
- JavaScript và TypeScript: Phân tích lịch sử phát triển từ Mocha/LiveScript đến ECMAScript và sự ra đời của TypeScript (từ phiên bản 0.8 năm 2012 đến các phiên bản hiện đại) nhằm khắc phục nhược điểm thiếu kiểm soát kiểu dữ liệu.
- ReactJS và NextJS: Phân tích cơ chế Virtual DOM của React và mô hình Server-Side Rendering (SSR) của NextJS so với Client-Side Rendering (CSR), giải thích lý do NextJS hỗ trợ tốt hơn cho SEO và tốc độ tải trang.
- NodeJS và ExpressJS: Phân tích kiến trúc bất đồng bộ non-blocking, event loop của NodeJS và hệ thống middleware, định tuyến mạnh mẽ của ExpressJS.
- MongoDB: Trình bày cấu trúc tài liệu BSON, các đặc tính phân tán, lập chỉ mục (Indexing), Sharding, Replication và Aggregation của cơ sở dữ liệu NoSQL.
- VS Code và GitHub: Đánh giá các tiện ích hỗ trợ lập trình, quản lý nhánh và lưu trữ mã nguồn.
Chương 3. Phân tích thiết kế hệ thống
Chương 3 là phần trọng tâm kỹ thuật của đồ án, bao gồm 3 nội dung chính:
- Đặc tả ca sử dụng (Use case): Xây dựng sơ đồ và đặc tả chi tiết 33 use case cho 3 tác nhân. Cụ thể: 12 use case cho phân hệ Chủ sân (từ UC_1.1 đến UC_1.12 gồm Đăng nhập, Đăng ký, Tạo chi nhánh, Tạo sân, Xem thông tin sân, Phản hồi yêu cầu đặt sân, In hóa đơn, Xem hóa đơn, Tạo giải đấu, Cập nhật kết quả giải đấu, Xem thông tin chi nhánh, Thống kê doanh thu); 12 use case cho phân hệ Khách hàng (Đăng nhập, Đăng ký, Xem sân, Xem sân đã đặt, Xem sân đã lưu, Tạo đội bóng, Xem đội bóng, Tham gia đội bóng, Đánh giá đội bóng, Tham gia giải đấu, Báo cáo vi phạm...); 9 use case cho phân hệ Quản trị viên (Phê duyệt chủ sân, Quản lý tài khoản, Quản lý chi nhánh, Quản lý báo cáo...). Mỗi use case đều được mô tả chuẩn tắc với Actor, Trigger, Pre-conditions, Post-conditions, Main flow và Alternative flows.
- Phân tích hệ thống: Trình bày kiến trúc hệ thống tổng thể theo mô hình MVC, phân tích rõ ưu điểm (phân tách độc lập các thành phần, dễ bảo trì, phát triển song song) và nhược điểm (độ phức tạp trong cấu trúc khi mở rộng).
- Thiết kế dữ liệu: Chi tiết hóa cấu trúc 15 bảng/collection dữ liệu từ
Owner, Guest, Branch, Field đến Invoice, Tournament, Match kèm định dạng kiểu dữ liệu từng trường.
Chương 4. Xây dựng ứng dụng
Chương 4 mô tả quá trình hiện thực hóa thiết kế thành sản phẩm phần mềm hoàn chỉnh:
- Thiết kế giao diện: Trình bày sơ đồ luồng liên kết màn hình tương ứng với từng vai trò người dùng và cung cấp danh mục chi tiết 45 màn hình chức năng.
- Hiện thực giao diện: Trình bày trực quan các giao diện chính đã xây dựng cho hệ thống chủ sân (bảng điều khiển, lịch đặt sân, biểu mẫu tạo giải đấu, chi tiết trận đấu, hóa đơn), hệ thống khách hàng (trang tìm kiếm, chi tiết sân bãi, giao diện quản lý đội bóng, biểu mẫu đăng ký giải) và hệ thống quản trị (danh sách duyệt chủ sân, báo cáo).
- Cài đặt và thử nghiệm: Mô tả chi tiết môi trường phát triển (công cụ, phiên bản runtime, môi trường Node/NPM) và môi trường triển khai phần mềm, thực hiện thử nghiệm các ca kiểm thử để đánh giá tính ổn định của hệ thống.
Chương 5. Nhận xét và kết luận
Chương tổng kết đánh giá toàn bộ kết quả thực hiện của đồ án dựa trên các mục tiêu đã đề ra ban đầu, chỉ ra các mặt đạt được của phần mềm trong việc giải quyết bài toán quản lý sân bóng, đồng thời thẳng thắn nêu lên những hạn chế kỹ thuật hiện tại và đề xuất các định hướng nghiên cứu, nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Đồ án đã xây dựng hoàn chỉnh hệ thống ứng dụng web "Footex" đáp ứng đầy đủ các yêu cầu nghiệp vụ quản lý sân bóng và kết nối cộng đồng thể thao:
- Xây dựng giải pháp quản trị toàn diện cho chủ sân bóng: Tự động hóa quy trình quản lý chi tiết sân bóng và nhiều chi nhánh; cung cấp cơ chế xử lý đặt sân linh hoạt cho cả người dùng trực tuyến và khách vãng lai; tích hợp chức năng tạo lập, in hóa đơn và tự động thống kê doanh thu theo các chu kỳ thời gian (tuần, tháng, năm).
- Cung cấp công cụ tổ chức và số hóa giải đấu thể thao: Cho phép chủ sân tạo giải đấu, thiết lập cơ cấu giải thưởng, phân chia cặp đấu, cập nhật tiến độ, tỷ số trận đấu, ghi nhận thẻ phạt (
Card Fine) và danh sách bàn thắng (Goal Detail) một cách minh bạch.
- Môi trường tương tác phong phú cho khách hàng và người chơi: Người dùng có thể tìm kiếm sân bóng theo các bộ lọc, thực hiện đặt sân nhanh chóng, tạo lập và quản lý thành viên đội bóng, gửi lời mời gia nhập, đánh giá chất lượng sân và tham gia các giải đấu phong trào.
- Cơ chế bảo đảm chất lượng và an toàn hệ thống: Hệ thống quản trị viên (Admin) thực hiện quy trình kiểm duyệt thông tin đăng ký của chủ sân trước khi cho phép hoạt động công khai, đồng thời tiếp nhận và xử lý các báo cáo vi phạm (
Report) từ người dùng nhằm duy trì môi trường kinh doanh minh bạch.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên phạm vi nghiên cứu và nội dung tổng kết trong đồ án, hệ thống còn một số hạn chế cần tiếp tục hoàn thiện:
- Hệ thống cần bổ sung và hoàn thiện cơ chế thanh toán trực tuyến tự động đa kênh (liên kết cổng thanh toán số, ví điện tử) thay vì quy trình lập và xuất hóa đơn thủ công.
- Thuật toán tìm kiếm và gợi ý sân bóng cần được tối ưu hóa sâu hơn với hệ thống định vị không gian địa lý (Geospatial) để hỗ trợ khách hàng tìm sân gần nhất theo thời gian thực.
- Cần tiếp tục mở rộng các tính năng tương tác mạng xã hội thể thao giữa các đội bóng, tự động ghép trận giao hữu ngẫu nhiên theo trình độ thi đấu.
- Nâng cao khả năng chịu tải và tối ưu hóa xử lý truy vấn dữ liệu lớn của cơ sở dữ liệu MongoDB khi số lượng chi nhánh và lịch đặt sân tăng cao.
Giá trị tham khảo
Đồ án là tài liệu tham khảo có giá trị học thuật và ứng dụng thực tiễn cao cho:
- Sinh viên ngành Công nghệ Phần mềm, Hệ thống Thông tin và Công nghệ Thông tin: Tham khảo quy trình xây dựng đồ án kỹ thuật phần mềm chuẩn mực từ khâu thu thập yêu cầu, đặc tả ca sử dụng (Use case), phân tích kiến trúc MVC đến thiết kế cơ sở dữ liệu NoSQL với MongoDB.
- Lập trình viên phát triển ứng dụng web Full-stack: Tham khảo mô hình kết hợp công nghệ JavaScript/TypeScript hiện đại giữa NextJS (Server-Side Rendering) ở phía máy khách và NodeJS/ExpressJS ở phía máy chủ.
- Các nhà phát triển hệ thống đặt chỗ thể thao (Sports Booking Platforms): Nắm bắt mô hình nghiệp vụ thực tế về quản lý chuỗi chi nhánh sân bãi, cấu trúc dữ liệu quản lý giải đấu bóng đá, chia bảng và thống kê số liệu thi đấu.
Câu hỏi thường gặp
1. Hệ thống Footex phục vụ những nhóm người dùng nào và chức năng chính của từng nhóm là gì?
Hệ thống phân quyền cho 3 nhóm tác nhân: (1) Chủ sân bóng quản lý thông tin sân, chi nhánh, duyệt yêu cầu đặt sân, xuất hóa đơn, thống kê doanh thu và tổ chức giải đấu; (2) Khách hàng/Người chơi tìm kiếm sân, đặt sân trực tuyến, tạo đội bóng, tham gia đội bóng, gửi lời mời và đăng ký tham gia giải đấu; (3) Quản trị viên (Admin) kiểm duyệt tài khoản chủ sân khi đăng ký và xử lý các báo cáo khiếu nại, vi phạm.
2. Quy trình phê duyệt tài khoản chủ sân bóng trong Footex diễn ra như thế nào?
Khi chủ sân thực hiện đăng ký tài khoản (UC_1.2), hệ thống kiểm tra tính hợp lệ của thông tin và tính duy nhất của địa chỉ email. Tài khoản sau đó được chuyển vào danh sách chờ phê duyệt của Quản trị viên (Admin). Chỉ sau khi Admin kiểm tra, xác nhận và chấp thuận thông tin, tài khoản chủ sân mới chính thức kích hoạt để đăng tải thông tin chi nhánh và sân bóng lên hệ thống, đồng thời hệ thống tự động gửi email thông báo kết quả phê duyệt cho chủ sân.
3. Cơ sở dữ liệu của Footex được tổ chức gồm những thực thể dữ liệu chính nào?
Cơ sở dữ liệu MongoDB của hệ thống gồm 15 bảng (collections) chính: Owner (chủ sân), Guest (khách hàng), Branch (chi nhánh), Field (sân bóng), FieldBookedQueue (hàng đợi đặt sân), Team (đội bóng), Match (trận đấu), Tournament (giải đấu), Goal Detail (bàn thắng), Card Fine (thẻ phạt), Prize (giải thưởng), Rate (đánh giá), Report (báo cáo), Invitement (lời mời) và Invoice (hóa đơn).
4. Tại sao NextJS được lựa chọn để phát triển giao diện phía máy khách thay vì ReactJS thuần túy?
NextJS được lựa chọn nhờ khả năng hỗ trợ Server-Side Rendering (SSR), giúp máy chủ hiển thị trước mã HTML của trang và gửi về cho trình duyệt thay vì chỉ render phía client như ReactJS truyền thống. Điều này giúp cải thiện đáng kể tốc độ tải trang ban đầu, hỗ trợ tối ưu hóa công cụ tìm kiếm (SEO) và tự động chia tách mã nguồn (split code).
5. Đồ án được nhóm tác giả thực hiện theo các bước cụ thể nào?
Quá trình phát triển đồ án gồm 5 bước kỹ thuật: (1) Xác định yêu cầu (phân tích khả thi, khảo sát nghiệp vụ và người dùng qua mạng); (2) Thiết kế hệ thống (xây dựng sơ đồ Use-case); (3) Thiết kế dữ liệu (xây dựng cấu trúc bảng và sơ đồ logic); (4) Thiết kế giao diện (lập danh sách và sơ đồ liên kết màn hình trên Figma); (5) Lập trình và kiểm thử (viết code theo mô hình 3 lớp và thực hiện kiểm thử hệ thống).
Kết luận
Đồ án "Xây dựng hệ thống quản trị sân bóng - Footex" của sinh viên Trần Tuấn Kiệt và Trần Thị Tuyết Mai đã hoàn thành đầy đủ các mục tiêu đề ra trong việc giải quyết bài toán tin học hóa quản lý sân bóng và kết nối cộng đồng người chơi. Bằng việc ứng dụng đồng bộ hệ sinh thái công nghệ web hiện đại (NextJS, ExpressJS, NodeJS và MongoDB) trên nền tảng kiến trúc MVC, nhóm tác giả đã xây dựng thành công 45 màn hình chức năng phục vụ 3 nhóm người dùng riêng biệt. Hệ thống không chỉ cung cấp giải pháp quản trị kinh doanh, doanh thu và tổ chức giải đấu thể thao hiệu quả cho các chủ sân mà còn mang đến trải nghiệm đặt sân trực quan, thuận tiện cho khách hàng.