aminupy/AIToolsBox
34.8
Weak · 21 September 2026
1.5k
lines of production code
Python
primary language
4
measurements over time
What this system is
Features
Added EFK stack for centralized logging
The infrastructure now includes an EFK (Elasticsearch, Fluent Bit, Kibana) stack for centralized logging. This adds a new \infra/efk-stack\ directory containing a \docker-compose.yml\ that deploys Elasticsearch 8.14.1 and Kibana 8.14.1, along with a Fluent Bit configuration that tails log files from the IAM, media, and OCR services and forwards them to Elasticsearch. A \.dockerignore\ file is also added to the \api-gateway\ directory to exclude IDE and build artifacts from Docker contexts.
infra · high confidence
Added deployment scripts and Docker configuration
Users can now deploy the application services (IAM, media, OCR) and infrastructure (API gateway, EFK stack) using new shell and batch scripts. The deployment process is streamlined via Docker Compose, which orchestrates the build and launch of all specified services on a bridge network.
deployment · high confidence
IAM service introduces user registration, authentication, and OTP verification endpoints
The IAM service now provides a complete user management API. Users can register via a POST to /api/v1/users/Register, which creates a user and triggers an OTP sent to their mobile number. Subsequent steps allow verifying the OTP, resending it, and logging in to receive a JWT access token. The service also exposes a /Me endpoint to retrieve the authenticated user's profile. Under the hood, the service initializes a PostgreSQL database, connects to Redis for OTP storage, and uses FastAPI routers with Pydantic schemas for request/response validation.
services/iam-service · high confidence
Introduce OCR service with image processing and history endpoints
The OCR service is now available to process images and retrieve OCR results. Users can submit images for text extraction via the /api/v1/ocr/process endpoint, which leverages Tesseract OCR and stores the results in MongoDB. Additionally, a new /api/v1/ocr/get\_ocr\_history endpoint allows users to retrieve their past OCR history. The service is configured with permissive CORS headers to allow cross-origin requests from all origins.
services/ocr-service · high confidence
Media service introduces REST and gRPC endpoints for media upload and retrieval
The media service now exposes two ways to interact with media assets. A FastAPI-based REST API allows authenticated users to upload files and retrieve them via streaming responses. Additionally, a gRPC service is provided for programmatic access, specifically implementing a DownloadMedia RPC that returns media data as bytes. Both endpoints enforce user authentication via an IAM client and utilize MongoDB GridFS for storage.
services/media-service · high confidence
Dependencies
Added Python dependency manifests for IAM, Media, and OCR services
New requirements.txt files have been added for the IAM, Media, and OCR services, defining their Python dependencies. The IAM service includes FastAPI, SQLAlchemy, Redis, and logging via loguru. The Media service adds gRPC, HTTPX, and circuit breaker libraries. The OCR service introduces image processing tools like OpenCV and Pillow, alongside gRPC and OCR libraries. All three services now explicitly declare their third-party dependencies.
(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 37 → 35 (-2.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 39 → 39 (+0.0)
- Readiness 12 → 9 (-3.1)
- Security 86 → 79 (-7.2)
Resolved (10)
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
- Duplicated block (25 lines × 3) (services/iam-service/app/logging_service/logging_config.py)
- Duplicated block (8 lines × 2) (services/media-service/app/infrastructure/clients/iam_client.py)
- Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
- High IaC: DS-0002 (services/iam-service/Dockerfile)
- No exposed public API
- Scanner failed to run — not a clean result
- Secret: generic-api-key (services/iam-service/docker-compose.yml)
- dormant codebase — no living knowledge left to concentrate
New (45)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (20 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
- Duplicated block (23 lines × 2) (services/media-service/app/domain/models/object_id_model.py)
- Duplicated block (25 lines × 3) (services/iam-service/app/logging_service/logging_config.py)
- Duplicated block (8 lines × 2) (services/media-service/app/infrastructure/clients/iam_client.py)
- Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
- Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
- Duplicated block (9 lines × 2) (services/media-service/app/services/auth_service.py)
- High IaC: WD-COMPOSE-0001 (infra/api-gateway/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (services/media-service/docker-compose.yml)
- High IaC: WD-COMPOSE-0002 (services/ocr-service/docker-compose.yml)
- Medium IaC: WD-COMPOSE-0002 (infra/api-gateway/docker-compose.yml)
- Medium IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
- Medium IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
- Medium IaC: WD-DOCKER-0003 (services/iam-service/Dockerfile)
- …and 25 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
aminupy/AIToolsBox 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 76d0ee8a0199f930756fa79cfdbe11c8ff64c4eb — 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.