A new open-source project provides a complete Spring Boot-based management system tailored for football youth training clubs, featuring 128 Java files, 162 REST endpoints, and a three-role permission structure across 14 MySQL database tables. Published on technical community platforms, the system is designed to handle administrative tasks, coach scheduling, and student attendance tracking without the complexity of microservices.
System Architecture and Core Metrics
The application runs as a monolithic Spring Boot 2.2.2.RELEASE service backed by MyBatis-Plus 2.3 and MySQL 5.7. Frontend components are bundled directly into the resource path, utilizing Vue and Element UI for the administrative backend alongside an HTML and Layui setup for the user-facing portal.
Technical audits of the codebase reveal 13,023 lines of Java code across the 128 files. Developers recorded 15 distinct controller classes containing 162 active REST endpoints mapped via method-level annotations, alongside 14 database schema definitions and 66 rows of initial seed data in the distribution script.
Three-Role Management and Authentication
Access control relies on a unified token table structure that accommodates administrators, coaches, and students through a single database entity. The token record maintains fields for user identification, usernames, role titles, tokens, and expiration times. System interceptors differentiate user sessions by evaluating the table name parameter stored during authentication.
Menu permissions restrict administrative users to backend management panels covering user accounts, notices, merchandise, and reporting dashboards. Student accounts access portal-side course schedules, shopping carts, and personal attendance logs, while coaches manage assigned classes and evaluation tools within the administrative interface.
Common Controller Implementation and Data Reuse
The backend architecture concentrates primary business logic inside a generic controller layer rather than duplicating standard Create, Read, Update, and Delete operations across every entity. Seven primary endpoints utilize EntityWrapper logic to process parameterized queries for column values, grouping metrics, mathematical aggregations, and status modifications.
This design pattern allows administrative Vue pages to query dropdown selections, populate statistics cards, and manage approval badges through unified endpoints. Database schemas for course scheduling and attendance record dual-redundant fields for both students and instructors, eliminating the need for multi-table joins during standard list rendering.
Deployment Requirements and Resources
The package ships with the complete source code directory, SQL initialization scripts containing the baseline metadata, user documentation detailing access points, and a reference project document structured for academic submission. Execution requires a standard Java Development Kit 1.8 environment paired with Maven 3.8 for project compilation and package assembly.
Keep reading