Skip to content
CAI
Software that uses CAICheck a score

danielbdias/nodebr-meetup-ddd-demo

39.1

Weak · 21 September 2026

414

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Added tweet retrieval and sentiment analysis use cases

The application now includes new domain use cases for retrieving tweets and analyzing their sentiment. The 'RetrieveTweets' use case fetches tweets by hashtag, processes each tweet by classifying its sentiment (positive, negative, or neutral) using a new 'DiscoverTweetSentiment' use case, and saves the results. This introduces a new workflow for processing and storing tweet data with sentiment classification.

Domain/UseCases/RetrieveTweets · high confidence

Initial domain model and use case for retrieving tweets

Introduced the Tweet entity with a validation schema (tweetId, text, sentiment, author, published) and a GetTweets use case that fetches all tweets via the TweetRepository.

Domain, Domain/UseCases/GetTweets · high confidence

Initial implementation of the Twitter API and Tweet domain

This change introduces the foundational infrastructure for the Twitter integration, including the GraphQL schema and resolvers for querying and retrieving tweets, along with the corresponding database models, repositories, and migrations. It also sets up the Express server configuration, including middleware for body parsing, logging, and CORS, as well as the initial database connection and GraphQL endpoint setup.

Infra · high confidence

Test coverage

Added test support file for Chai and Sequelize repository initialization

A new test support file (Tests/support.js) was added to configure the testing environment. It sets up Chai with chai-as-promised and initializes the Speck Sequelize repository along with the application's database models, enabling tests to interact with the database layer.

Tests · high confidence

Dependencies

Initial project structure and dependency setup

The project is initialized with a root \package.json\ defining the \nodebr-meetup-ddd-demo\ application, including scripts for testing, linting, and database migrations, alongside a \yarn.lock\ file pinning all transitive dependencies. Additionally, individual \package.json\ manifests are added for each domain use case (DiscoverTweetSentiment, GetTweets, RetrieveTweets) and infrastructure modules (GraphQL API, Twitter client, models), establishing a modular architecture.

(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 42 → 39 (-2.7)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 52 → 47 (-5.3)
  • Architecture 69 → 60 (-9.1)
  • Maturity 80 → 80 (+0.0)
  • Readiness 15 → 20 (+5.1)
  • Security 79 → 66 (-13.0)

Resolved (59)

  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 39 more

New (107)

  • Banned license: speck-sequelize-repository
  • Critical CVE: [CVE redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Critical CVE: [GHSA redacted] (yarn.lock)
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • …and 87 more

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

Survey your own repository

danielbdias/nodebr-meetup-ddd-demo 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 35d2036a1f9ba2fe7ccef82e0566d5a3d3659a49 — 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.