You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Highlights
Added the Pulse web client (served from Spring Boot under / and /compose.html) for signup/login, upload, feed, and delete flows.
Introduced an ML-backed analysis pipeline with logistic regression scoring; /api/analyze/{analysisId} now returns confidenceScore, c2paUsed, and modelVersion (model data in src/main/resources/model.json).
Strengthened testing and quality gates across unit, integration, live e2e, coverage, PMD, and Checkstyle.
Frontend (Pulse)
New auth page (index.html, app.js) handles signup/login, saves the Supabase JWT, and routes to Pulse Studio.
New composer/feed experience (compose.html, compose.js, compose.css, styles.css) for uploading images, adding captions/labels, polling analysis, viewing signed URLs, and deleting posts.
Same-origin config (config.js) keeps local and Heroku environments in sync; optional standalone static hosting still supported.
Backend & Model
Logistic regression model loader + feature extractor pipeline (LogisticRegressionService, ModelLoader, FeatureExtractor) with v1 weights/bias in src/main/resources/model.json.
Analysis results persist confidence on AnalysisReport and surface polling metadata (c2paUsed, modelVersion); manifests stored and retrievable via /api/analyze/{analysisId}/manifest.
Auth + ownership checks enforced on all /api/images/** and /api/analyze/** routes.
Deployment
Heroku production at https://meta-detect-service-f2e645d5db2c.herokuapp.com; Pulse client is served from the same origin.
Unit/integration/API suite via mvn clean test; coverage target ≥ 80% branch (target/site/jacoco/index.html, screenshot reports/MetaDetect80.png).
Logistic regression-specific tests in src/test/java/dev/coms4156/project/metadetect/service/LogisticRegressionServiceTest.java; analyze service behavior in AnalyzeServiceTest.
Live end-to-end client+service test (ClientServiceLiveE2eTest) hits real Supabase/DB/storage when LIVE_E2E=true.
Static analysis: mvn checkstyle:checkstyle and mvn pmd:pmd (reports under target/site/); before/after evidence in reports/PMD with issues.png and reports/PMD without issues.png.
CI workflow (.github/workflows/ci-reports.yml) runs compile, tests, JaCoCo, PMD, Checkstyle, and uploads artifacts/screenshots; passing evidence in reports/CIPassingReport.png and reports/CIReportDowload.png.