Skip to content
CAI
Software that uses CAICheck a score

whoiszxl/seesee_bak

35.1

Weak · 20 September 2026

20.8k

lines of production code

Java

with Dart

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a microservices-based video sharing platform, comprising a Java backend and a Flutter mobile application. The backend manages core social features including user authentication, member profiles, and follower relationships, while also handling video content publishing, commenting, and interaction metrics like likes. Additionally, it provides a real-time chat service and an administrative interface for system management.

Features

Add member profile and follower query capabilities

Introduces the MemberQueryApplicationService and its implementation to support member profile pages and follower lists. Users can now retrieve their own profile information (including login status and security settings like Google 2FA), view detailed profiles of other members (showing bio, location, and engagement stats), and fetch a list of their followers. This adds the backend query layer for displaying member details and social connections.

ddd-seesee/ss-member/ss-member-application/src/main/java/com/whoiszxl/query · high confidence

Added domain events for member login and follow success

The member domain now includes domain event classes and a publisher interface to signal key user actions. Specifically, a \MemberLoginSuccessEvent\ is introduced to capture successful member logins, and a \FollowSuccessEvent\ is added to track when a user successfully follows another member. The \MemberDomainEventPublisher\ interface provides methods to publish these events, enabling downstream systems or handlers to react to login and follow activities within the member service.

ddd-seesee/ss-member/ss-member-domain/src/main/java/com/whoiszxl/event · high confidence

Added domain models and repositories for member profiles, social connections, and reporting

This change introduces the core domain entities and their persistence interfaces for the member service. It adds \MemberInfo\ to store user profile details (such as gender, location, and login statistics), \MemberAttention\ and \MemberFollower\ to manage social relationships (who a user follows and who follows them), and \MemberReport\ to handle user content reporting. Corresponding repository interfaces are provided to persist these entities, including specific query methods like \byMemberId\ for retrieving profile data and \byUsername\ for finding members by name.

ddd-seesee/ss-member/ss-member-domain/src/main/java/com/whoiszxl/aggregate · high confidence

Added member domain event publishing via RocketMQ

The system now publishes member-related domain events, specifically login success and follow success events, to RocketMQ topics. This implementation serializes the event data to JSON and sends it to the configured member topics, enabling downstream services to react to these user actions.

ddd-seesee/ss-member/ss-member-infrastructure/src/main/java/com/whoiszxl/event · high confidence

Initial DDD infrastructure for video domain persistence and external integration

This change introduces the foundational Domain-Driven Design (DDD) infrastructure for the video module. In the domain layer, it defines repository interfaces for Video and VideoComment aggregates, along with adapter interfaces for member and follower data. The infrastructure layer implements these repositories using MyBatis-Plus, including entity objects (POs) for tables such as vms\_video, vms\_video\_comment, vms\_bgmusic, and vms\_video\_watch\_history. It also provides converters to map between domain models and persistence objects, a MyBatis configuration with pagination support, and an implementation for the member adapter that fetches data via a Feign client. Additionally, a RocketMQ producer is wired for domain event publishing, though the event publishing logic is currently a stub.

ddd-seesee/ss-video/ss-video-domain, ddd-seesee/ss-video/ss-video-infrastructure · high confidence

Initial Flutter application scaffolding and core architecture

This change introduces the initial structure for the 'flutter\_seesee' mobile application. It establishes the native project configurations for both Android (including AndroidManifest, MainActivity, and Gradle setup) and iOS (including Xcode project, Info.plist, and AppDelegate). The Dart layer implements the core GetX state management architecture, featuring a central dependency binding and controllers for the main navigation, home feed, member profile, and video interactions. Additionally, it includes the necessary service interfaces for API communication and a Lottie loading animation asset.

_flutter\seesee · high confidence

Initial admin web module scaffolding with authentication and RBAC entities

The admin web module is initialized with the core structure for an administrative interface, including Spring Boot application configuration, MyBatis-Plus data access layers, and entity definitions for the admin user, roles, permissions, menus, and system logs. It introduces a login mechanism using Sa-Token for session management and BCrypt for password hashing, along with REST controllers for admin login, logout, and basic admin list retrieval. The module also sets up automatic metadata filling for audit fields (createdBy, updatedBy, timestamps) and includes a code generator for MyBatis entities.

seesee-video/ss-admin/ss-admin-web, seesee-video/ss-member/ss-member-web, seesee-video/ss-tools/ss-tools-core · high confidence

Initial base library scaffolding for DDD architecture and authentication

This change introduces the foundational \ss-base\ module, establishing the core infrastructure for the application. It implements a DDD (Domain-Driven Design) model by adding marker interfaces (e.g., \Entity\, \AggregateRoot\, \Repository\) and annotations (\@DomainAbility\) to structure domain logic. It integrates Sa-Token for authentication and authorization, providing configuration for JWT propagation via Feign (\OAuth2FeignConfig\), a global exception handling mechanism (\ExceptionCatchAdvice\), and permission interfaces (\PermissionInterfaceImpl\). Additionally, it supplies essential utility classes for context management (\BaseContextHandler\), validation (\AssertUtils\, \RegexConstants\), and standard response modeling (\ResponseResult\).

ddd-seesee/ss-base · high confidence

Initial commit of the chat microservice infrastructure

This change introduces the foundational structure for the chat service (ss-chat), including the Spring Boot application entry point, REST controller, and MyBatis-Plus data access layer for chat conversations (ImTalk) and messages (ImTalkMessage). It also adds the necessary configuration files for database connectivity, Redis caching, logging, and service discovery, establishing the backend infrastructure for real-time communication features.

ddd-seesee · high confidence

Initial database infrastructure for member domain persistence

This change introduces the foundational data-access layer for the member domain within the infrastructure module. It establishes MyBatis Plus configuration, including automatic metadata handling for audit fields (createdBy, updatedBy, timestamps) and pagination support. The update adds persistence models (POs) for core member entities such as Member, MemberInfo, MemberAttention, MemberFollower, and MemberReport, along with their corresponding MyBatis mappers and XML definitions. To bridge the domain and infrastructure layers, it implements converters using Dozer for object mapping and repository implementations that handle CRUD operations, enabling the system to persist and retrieve member data, including follower/attention relationships and reporting details.

ddd-seesee/ss-member/ss-member-infrastructure/src/main/java/com/whoiszxl/db · high confidence

Initial database schema for member, video, and chat features

Added the initial SQL schema definitions for the application's core data models. This includes tables for member management (profiles, blacklists, followers, attention, reports), video content (videos, comments, background music, view/like counters), and a MongoDB mapping file for chat messages. These resources establish the foundational structure for user accounts, video sharing capabilities, and messaging functionality.

resources · high confidence

Initial deployment scaffolding for video and gateway services

This change introduces the foundational configuration and entry points for the \ss-gateway\ and \ss-video\ microservices. The gateway is configured to route \/member/\\\ and \/video/\\\ requests to their respective backend services via Nacos service discovery, with CORS enabled for all origins. The video service is set up with MySQL and Redis connectivity, Sa-Token authentication, Feign client integration, and logging profiles for development and production environments.

ddd-seesee/ss-gateway, ddd-seesee/ss-video/ss-video-start · high confidence

Initial member service bootstrap configuration

The member service (\ss-member\) is now bootstrapped with its core application entry point and configuration files. This includes the Spring Boot application class with Feign and MyBatis mapper scanning, and an \application.yml\ that wires the service to Nacos for configuration, MySQL for persistence, and Redis for session/token storage (via Sa-Token). Logging is configured via Logback with distinct profiles for development (console/debug) and production (file/info), and the service is set to listen on port 10001.

ddd-seesee/ss-member/ss-member-start · high confidence

Initial release of Dozer, logging, and Swagger tool modules

This change introduces three new Spring Boot starter modules. The \ss-tools-dozer\ module provides auto-configured Dozer bean mapping utilities. The \ss-tools-logger\ module adds an \@SSLog\ annotation for capturing operation logs via AOP, including IP resolution, request/response parameter recording, and asynchronous event-driven persistence, along with a comprehensive Logback configuration for structured file logging. The \ss-tools-swagger\ module configures Swagger UI (OAS 3.0) with JWT authentication support, customizable API metadata, and global request parameters.

ddd-seesee/ss-tools/ss-tools-dozer, ddd-seesee/ss-tools/ss-tools-logger, ddd-seesee/ss-tools/ss-tools-swagger · high confidence

Initial release of core infrastructure and developer tooling modules

This commit introduces the foundational components for the seesee-video platform, establishing the initial project structure. It adds the \ss-gateway\ module, which configures a Spring Cloud Gateway with Nacos service discovery, CORS handling, and routing rules. It also includes several reusable tool libraries: \ss-tools-dozer\ for object mapping, \ss-tools-logger\ for asynchronous operation logging and IP geolocation, and \ss-tools-swagger\ for auto-configured API documentation. These modules provide the basic wiring, logging, and documentation capabilities required for the application's backend services.

(repo-wide) · high confidence

Initial video and comment interaction endpoints

This change introduces the application-layer services and REST controllers for the video module, enabling users to publish videos, manage comments, and interact via likes. Specifically, it adds the \VideoApplicationService\ and \CommentApplicationService\ (with implementations) to handle commands such as publishing video content, publishing comments, and toggling like/dislike states. It also provides query services (\VideoQueryApplicationService\, \CommentQueryApplicationService\) to retrieve video lists (including personal, timeline, and recommended feeds) and comment lists. The \VideoController\ and \CommentController\ expose these capabilities via HTTP endpoints, while supporting infrastructure like \LikeFactory\ and \LikeStrategy\ implementations (\VideoLike\, \CommentLike\) manages the like logic using Redis.

ddd-seesee/ss-video/ss-video-application · high confidence

Initial video service web module with like, background music, and history capabilities

This change introduces the initial codebase for the video service web module, establishing the core domain models and API endpoints for video management, background music, and user interaction history. It provides REST controllers for listing videos and background music, and implements a 'like' feature for both videos and comments using a strategy pattern backed by Redis for counting and deduplication. The module also includes configuration for MyBatis-Plus with pagination, entity mapping via Dozer, and authentication via Sa-Token.

seesee-video/ss-video/ss-video-web · high confidence

Introduction of Member domain aggregate model

The Member aggregate root class has been added to the ss-member-domain module, defining the core data structure for member accounts including identity fields (id, username, password), profile details (avatar, nickname, real name, email, phone), and security settings (Google 2FA key and status). This model also introduces domain behavior for authentication, specifically methods to initiate a login session and retrieve the current authentication token, establishing the foundational entity for member-related business logic.

ss-member-domain · high confidence

Introduction of Video and VideoComment domain models

The ss-video-domain module now includes the core domain entities for video content and interactions. Specifically, the Video aggregate root defines the structure for video metadata, including media details (cover, URL, dimensions), privacy controls (watch type, allowed/blocked member lists), and location data. Additionally, the VideoComment aggregate root has been added to support user comments on videos, capturing comment text, associated images, and reply relationships via parent IDs.

ss-video-domain · high confidence

New member interaction endpoints and RPC client for user profiles and social features

This change introduces the HTTP interaction layer for the member service, adding controllers for user authentication (login, register, logout), profile management (view and update details), and social interactions (following other users). It also implements the Feign client interface and its implementation to expose member and follower data to other services, along with the necessary DTOs for these RPC calls.

ddd-seesee/ss-member/ss-member-interaction · high confidence

Dependencies

Initial project scaffolding for Java backend and Flutter mobile app

This change introduces the foundational build configuration for the project, establishing the Maven multi-module structure for the Java backend (ddd-seesee) and the Gradle build files for the Flutter mobile application (flutter\_seesee). The backend pom.xml defines a parent project with version 1.0.0, setting up modules for tools, base, gateway, video, chat, and member services, while explicitly declaring dependency versions for Spring Boot 2.3.2, Spring Cloud Hoxton.SR9, MyBatis-Plus 3.4.3.4, Sa-Token 1.23.0, and various Alibaba Cloud components. The Flutter build files configure the Android application with Kotlin 1.5.21, Android Gradle Plugin 4.1.0, and a minimum SDK of 20, linking the app to the Flutter SDK.

(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 38 → 35 (-3.1)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 89 → 89 (+0.1)
  • Architecture 100 → 97 (-2.8)
  • Maturity 45 → 40 (-4.6)
  • Readiness 0 → 0 (+0.0)
  • Security 100 → 96 (-3.9)

Resolved (15)

  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (11 lines × 2) (ddd-seesee/ss-video/ss-video-application/src/main/java/com/whoiszxl/query/impl/VideoQueryApplicationServiceImpl.java)
  • Duplicated block (12 lines × 2) (seesee-video/ss-tools/ss-tools-core/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • Duplicated block (6 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Duplicated block (6 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Duplicated block (6 lines × 2) (seesee-video/ss-admin/ss-admin-web/src/main/java/com/whoiszxl/config/EntityMetaObjectHandler.java)
  • Duplicated block (6–7 lines × 2) (ddd-seesee/ss-video/ss-video-application/src/main/java/com/whoiszxl/query/impl/VideoQueryApplicationServiceImpl.java)
  • Duplicated block (6–7 lines × 2) (seesee-video/ss-tools/ss-tools-core/src/main/java/com/whoiszxl/utils/IpUtil.java)
  • Duplicated block (9 lines × 2) (seesee-video/ss-tools/ss-tools-swagger/src/main/java/com/whoiszxl/swagger/SwaggerAutoConfiguration.java)
  • No exposed public API
  • The Flutter app README is a boilerplate file with only the 'Getting Started' link and no features, usage, or screenshots. (flutter_seesee/README.md)
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • single-maintainer — knowledge-concentration (bus factor) risk

New (119)

  • CheckPasswordUtils.checkPasswordStrength (cognitive 87) (seesee-video/ss-tools/ss-tools-core/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • CheckPasswordUtils.checkPasswordStrength (cyclomatic 76) (seesee-video/ss-tools/ss-tools-core/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (docs/index.html)
  • Duplicated block (10 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/permission/PermissionInterfaceImpl.java)
  • Duplicated block (10 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • Duplicated block (10 lines × 2) (ddd-seesee/ss-tools/ss-tools-swagger/src/main/java/com/whoiszxl/swagger/SwaggerAutoConfiguration.java)
  • Duplicated block (11 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Duplicated block (11 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Duplicated block (11 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • Duplicated block (11 lines × 2) (ddd-seesee/ss-gateway/src/main/java/com/whoiszxl/config/CorsConfig.java)
  • Duplicated block (12 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/CheckPasswordUtils.java)
  • Duplicated block (12 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • Duplicated block (12 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • Duplicated block (12 lines × 2) (ddd-seesee/ss-tools/ss-tools-logger/src/main/java/com/whoiszxl/logger/init/ApplicationLoggerInitializer.java)
  • Duplicated block (13 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/enums/BaseEnum.java)
  • Duplicated block (13 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/exception/ExceptionCatchAdvice.java)
  • Duplicated block (13 lines × 2) (ddd-seesee/ss-tools/ss-tools-logger/src/main/java/com/whoiszxl/logger/aspect/SSLogAspect.java)
  • Duplicated block (136 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/context/BaseContextHandler.java)
  • Duplicated block (14 lines × 2) (ddd-seesee/ss-base/src/main/java/com/whoiszxl/utils/DateUtils.java)
  • …and 99 more

Architecture

  • Containers 0 added · 0 removed · contexts 2 added · 1 removed · edges 0 added · 0 removed

Added bounded contexts (2)

  • ss-member-domain
  • ss-video-domain

Removed bounded contexts (1)

  • ss-video-web

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

Survey your own repository

whoiszxl/seesee_bak 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 20 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 e4673d4b4584f6c3d17a36144e24bff8058b6d98 — 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.