Skip to content
CAI
Software that uses CAICheck a score

Gin-n-Tonicc/Cool-School

46.4

Weak · 21 September 2026

17.9k

lines of production code

TypeScript

with Java, JavaScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Added frontend styling libraries for animations and layout

The client's public assets now include the CSS files for the animate.css and AOS (Animate On Scroll) libraries, as well as Bootstrap v4.3.1. These additions provide the visual foundation for page transitions, scroll-based animations, and responsive grid layouts across the application.

client/public · high confidence

Initial client application setup and configuration

The client application has been initialized with a React-based frontend, including TypeScript configuration (tsconfig.json) and environment variables (.env) for the API and OAuth URLs. Deployment is configured for Firebase Hosting (firebase.json, .firebaserc), and standard build/test/ignore files are in place. This establishes the foundational structure for the client-side application.

client · high confidence

Initial server setup with authentication, configuration, and exception handling

The server module is initialized with core infrastructure: a Maven wrapper for consistent builds, Spring Boot application entry point, and configuration classes for frontend URLs, locale handling, mail sending, and internationalized error messages. Authentication is implemented via JWT cookies with endpoints for registration, login, OAuth2 completion, and password reset. The system includes a comprehensive set of custom exceptions for various business rules (e.g., blog likes, categories, answers) and common API errors, all supporting localized messages. Role-based access control is defined with specific permissions for admin, teacher, and user roles.

server · high confidence

Introduces quiz functionality with attempt tracking and progress saving

Users can now take quizzes, with the system automatically saving progress and tracking quiz attempts. The backend calculates quiz success percentages for each course for the current user and provides endpoints to retrieve all user attempts for a quiz. Additionally, the system automatically updates quiz attempt timers every minute and cleans up unconfirmed users after 24 hours.

cool-school-api · high confidence

New authentication and admin panel routing

The application now features a complete authentication system, including login, register, forgotten password, and OAuth (Google) integration, with protected routes for users and admins. The admin panel has been introduced with a dedicated routing structure, allowing administrators to manage users, blogs, categories, courses, and other resources through a new set of admin-specific components and API integrations.

client/src · high confidence

Behavioural changes

Updated Firebase hosting cache manifest

The Firebase hosting cache manifest has been updated to reflect the latest build artifacts, including new content hashes for static assets such as CSS, JavaScript, fonts, and images. This ensures that the client-side application loads the correct, up-to-date versions of these files from the CDN, preventing stale cache issues for users.

client/.firebase · high confidence

Dependencies

Initial project setup with React client and Spring Boot server dependencies

The project has been initialized with build manifests for both the client and server sides. The client side (client/package.json) introduces a React 18 application using React Router, i18next for internationalization, Firebase, and various testing and utility libraries. The server side (server/pom.xml) establishes a Spring Boot 3.1.1 backend, incorporating Spring Security, OAuth2 client support, JPA, Flyway for database migrations, and Swagger for API documentation.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 43 → 46 (+2.9)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 91 → 89 (-2.5)
  • Architecture 96 → 95 (-0.9)
  • Maturity 65 → 65 (-0.1)
  • Readiness 24 → 33 (+9.0)
  • Security 65 → 75 (+9.4)
  • Accessibility 45 → 41 (-4.5)

Resolved (68)

  • Change coupling: AnswerServiceImpl.java ↔ QuestionServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/services/impl/AnswerServiceImpl.java)
  • Change coupling: BlogServiceImpl.java ↔ CategoryServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/services/impl/BlogServiceImpl.java)
  • Change coupling: CourseServiceImpl.java ↔ ResourceServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/services/impl/CourseServiceImpl.java)
  • Change coupling: CourseSubsectionServiceImpl.java ↔ ResourceServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/services/impl/CourseSubsectionServiceImpl.java)
  • Change coupling: QuestionServiceImpl.java ↔ QuizServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/services/impl/QuestionServiceImpl.java)
  • Change coupling: RegisterRequest.java ↔ User.java (server/src/main/java/com/coolSchool/coolSchool/models/dto/auth/RegisterRequest.java)
  • Coverage not included — suite not readable by the collector
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (11 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/services/impl/AIAssistanceServiceImpl.java)
  • Duplicated block (5 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/services/impl/UserCourseServiceImpl.java)
  • Duplicated block (6 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/config/SecurityConfiguration.java)
  • High CVE: [GHSA redacted] (client/package-lock.json)
  • High CVE: [GHSA redacted] (client/package-lock.json)
  • High CVE: [GHSA redacted] (client/package-lock.json)
  • High CVE: [GHSA redacted] (client/package-lock.json)
  • …and 48 more

New (151)

  • (anonymous) (cognitive 22) (client/public/js/masonry.pkgd.js)
  • (anonymous) (cyclomatic 22) (client/public/js/masonry.pkgd.js)
  • AdminTable.AdminTable (cognitive 24) (client/src/components/admin/admin-table/AdminTable.tsx)
  • AdminTable.AdminTable (cyclomatic 18) (client/src/components/admin/admin-table/AdminTable.tsx)
  • Change coupling: AuthenticationController.java ↔ AuthenticationServiceImpl.java (server/src/main/java/com/coolSchool/coolSchool/controllers/AuthenticationController.java)
  • Change coupling: Login.tsx ↔ RegisterForm.tsx (client/src/components/auth/login/Login.tsx)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Critical CVE: [GHSA redacted] (client/package-lock.json)
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (5 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/services/impl/UserCourseServiceImpl.java)
  • Duplicated block (7 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/exceptions/category/CategoryCreateException.java)
  • Duplicated block (7 lines × 6) (server/src/main/java/com/coolSchool/coolSchool/services/impl/AnswerServiceImpl.java)
  • Duplicated block (8 lines × 2) (server/src/main/java/com/coolSchool/coolSchool/services/impl/AIAssistanceServiceImpl.java)
  • Duplicated block (9 lines × 4) (server/src/main/java/com/coolSchool/coolSchool/services/impl/AnswerServiceImpl.java)
  • …and 131 more

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Gin-n-Tonicc/Cool-School was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 10b1f9c3ddf1b09b67ace1493779a88b39b78783 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.