Project Inventory
Tabel inventaris teknologi, dependency, direktori, dan status lifecycle aktual OrthoBreath v1.0.0.
Status: Stablev1.0.0Source Verified: Yes
Source:
package.json, backend/requirements.txtTests: tests/unit/uiDesignPolicy.test.tsProject Inventory - OrthoBreath v1.0.0#
Dokumentasi ini menyajikan daftar seluruh teknologi, pustaka, dependensi, dan artefak yang digunakan pada repository OrthoBreath. Seluruh entri diaudit langsung dari package.json, backend/requirements.txt, dan konfigurasi deployment.
1. Core Technology Stack#
| Area | Technology | Version | Source Location | Lifecycle Status | Purpose |
|---|---|---|---|---|---|
| Frontend App | Next.js (App Router) | 16.3.0 | package.json, src/app | Active | UI Portal, PWA, Route Handlers |
| UI Library | React | 19.2.4 | package.json | Active | Component framework |
| Styling | Tailwind CSS / PostCSS | 4.3.3 | src/app/globals.css | Active | Clinical Navy/Teal design system |
| AI Inference | FastAPI / Uvicorn | 0.115.8 / 0.34.0 | backend/app/main.py | Active | Machine learning inference engine |
| AI Framework | Scikit-Learn | 1.6.1 | backend/requirements.txt | Active | SVM classifier & StandardScaler |
| Feature Extraction | Scikit-Image | 0.25.2 | backend/app/domain | Active | HOG (Histogram of Oriented Gradients) |
| Database | Google Cloud Firestore | 14.2.0 (Admin SDK) | src/lib/firebaseAdmin.ts | Active | Multi-tenant NoSQL storage |
| Client Auth | Firebase Client SDK | 12.15.0 | src/lib/firebase.ts | Active | Authentication & user tokens |
| Telemetry Broker | HiveMQ Cloud (TLS) | 5.15.2 (MQTT.js) | src/services/mqttService.ts | Active | MQTT broker for IoT pressure sensors |
| Media Storage | Cloudinary | 2.10.0 | src/lib/storage.ts | Active | Signed clinical dental photo storage |
| Unit Test | Vitest | 4.1.10 | tests/unit/ | Active | Unit & route authorization tests |
| E2E Test | Playwright | 1.61.1 | tests/e2e/ | Active | End-to-end browser automation |
| Backend Test | Pytest | 8.3.4 | backend/tests/ | Active | AI inference contract testing |
| CI/CD | GitHub Actions | Ubuntu-latest | .github/workflows/ci.yml | Active | Automated 22-step verification |
| Hosting (Web) | Vercel Serverless | Node.js 24 | vercel.json | Active | Frontend & API Gateway |
| Hosting (AI) | Render / Docker | Python 3.11-slim | backend/Dockerfile.render | Active | SVM Inference Service |
2. Dependency & Library Inventory#
Frontend Dependencies (package.json)#
json
json
1{2 "cloudinary": "2.10.0",3 "clsx": "2.1.1",4 "firebase": "12.15.0",5 "firebase-admin": "14.2.0",6 "lucide-react": "0.554.0",7 "mqtt": "5.15.2",8 "next": "16.3.0",9 "postcss": "8.5.23",10 "react": "19.2.4",11 "react-dom": "19.2.4",12 "recharts": "3.3.0",13 "sharp": "0.35.3",14 "sonner": "^2.0.7",15 "tailwind-merge": "3.3.1"16}
Python AI Backend Dependencies (backend/requirements.txt)#
text
text
1fastapi==0.115.82uvicorn[standard]==0.34.03scikit-learn==1.6.14scikit-image==0.25.25numpy==2.2.36joblib==1.4.27pillow==11.1.08pydantic==2.10.69pydantic-settings==2.7.110python-multipart==0.0.2011pytest==8.3.412httpx==0.28.1
3. Directory & Module Map#
text
text
1OrthoBreath/2├── .github/workflows/ # GitHub Actions CI/CD workflows3├── backend/ # Python FastAPI AI Inference Service4│ ├── app/5│ │ ├── api/routes/ # Endpoint router (predict, health, metrics)6│ │ ├── core/ # Config, settings, manifest validation7│ │ ├── domain/ # HOG feature extractor, SVM model loader8│ │ ├── schemas/ # Pydantic schemas (PredictRequest, PredictResponse)9│ │ └── services/ # Inference service pipeline10│ ├── storage/models/ # SVM model (.joblib), Scaler (.joblib), manifest.json11│ ├── tests/ # Pytest test suites12│ └── Dockerfile.render # Production container build definition13├── docs/ # Technical documentation files14├── firestore.rules # Security rules for Cloud Firestore15├── next.config.ts # Next.js standalone and security headers config16├── public/ # PWA icons, static brand assets, manifest.webmanifest17├── scripts/ # Automated build, test, and container scripts18├── src/19│ ├── app/ # Next.js 16 App Router pages & Route Handlers20│ │ ├── api/ # Serverless API routes (auth, sessions, patients, etc.)21│ │ ├── app/ # Authenticated Clinical Portal (admin, patients, sessions)22│ │ ├── docs/ # Interactive Documentation Portal23│ │ └── (public pages)/ # Landing, login, register, tentang, kontak24│ ├── components/ # Reusable UI primitives & clinical feature widgets25│ ├── config/ # Navigation metadata, application constants26│ ├── context/ # AuthContext, session reconciliation provider27│ ├── domain/ # Clinical business rules, threshold validators28│ ├── lib/ # Firebase Admin, Storage, HTTP Client, Auth29│ └── services/ # MQTT service, Camera service, AI bridge service30└── tests/ # Vitest unit tests, route tests, and Playwright E2E
4. Service Topology & Ports#
| Service | Environment | Host / URL | Default Port | Protocol |
|---|---|---|---|---|
| Next.js Web App | Local Dev | http://127.0.0.1 | 3000 | HTTP |
| Next.js Web App | Production | https://orthobreath.vercel.app | 443 | HTTPS |
| FastAPI AI Engine | Local Dev | http://127.0.0.1 | 8000 | HTTP |
| FastAPI AI Engine | Production | https://orthobreath-ai.onrender.com | 443 | HTTPS (Docker Container) |
| Firebase Auth / Firestore | Local Dev | http://127.0.0.1 | 9099 (Auth), 8080 (Firestore) | HTTP |
| Firebase Cloud | Production | https://firestore.googleapis.com | 443 | HTTPS / gRPC |
| HiveMQ MQTT Broker | Production | *.s1.eu.hivemq.cloud | 8883 | MQTTS (TLS) |
| ESP32-CAM Sensor Bridge | Local/Edge | http://192.168.4.1 | 80 / 81 | HTTP / MJPEG Stream |