Commit Graph

21 Commits

Author SHA1 Message Date
3a6a735872 Add scraper management admin page
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 13s
CI/CD Pipeline - Apartment Dashboard / Scan Dependencies (push) Successful in 12s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Failing after 1m9s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been skipped
New admin page at /admin/scraper for triggering and monitoring
apartment data scrapes. Shows current status, last run summary,
schedule info, and run controls with dry-run option.
2026-02-08 19:48:11 -07:00
c5c2c0e81c Fix security vulnerabilities and add early dependency scanning
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Scan Dependencies (push) Successful in 44s
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 10m6s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Failing after 2m36s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been skipped
- Add apk upgrade to nginx:alpine to fix libpng vulnerabilities
- Add scan-deps job that runs in parallel with lint
2026-01-23 16:10:52 -07:00
d74cd7f20e Fix security vulnerabilities in dependencies
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 9m33s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Failing after 42s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been skipped
- Update glob to fix command injection (CVE-2025-64756)
- Update vite to fix filesystem access issues
- Update js-yaml to fix prototype pollution
- Update @eslint/plugin-kit to fix ReDoS
2026-01-23 15:42:00 -07:00
78c5bd1c51 Fix Trivy action compatibility with Gitea runner
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Has been cancelled
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been cancelled
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Has been cancelled
Replace aquasecurity/trivy-action with direct Trivy installation
to avoid node24 compatibility issues with act-based runners
2026-01-23 15:22:23 -07:00
94e37f082d Add image signing, SBOM generation, and vulnerability scanning to CI/CD
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 9m33s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been cancelled
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Has been cancelled
- Add Trivy vulnerability scanning (fails on CRITICAL/HIGH)
- Add Syft SBOM generation in SPDX format
- Add Cosign image signing using digest
- Attach SBOM attestation to image in Harbor
- Add cosign.pub for signature verification
2026-01-23 14:55:06 -07:00
cfd185f577 Update Delta column to show daily price change
All checks were successful
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 9m33s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Successful in 31s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Successful in 14s
Display today vs yesterday price difference with colored arrows:
- Red up arrow for price increases
- Green down arrow for price decreases
- Gray for no change or missing data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:19:36 -07:00
52b1ac205d Fix ESLint errors for CI pipeline
All checks were successful
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Successful in 9m32s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Successful in 32s
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Successful in 15s
- Prefix unused state variables with underscore
- Remove unused 'name' parameter from Tooltip formatters
- Add eslint-disable comments for JSX component props not recognized
- Suppress react-hooks/exhaustive-deps for intentional effect deps
- Suppress react-refresh/only-export-components for AuthContext

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 17:42:14 -07:00
de08b3ddfa Add CI/CD pipeline with Harbor registry and SSH deployment
Some checks failed
CI/CD Pipeline - Apartment Dashboard / Run Linter (push) Failing after 4m52s
CI/CD Pipeline - Apartment Dashboard / Build & Push Image (push) Has been skipped
CI/CD Pipeline - Apartment Dashboard / Deploy to Production (push) Has been skipped
- Replace local deployment with proper CI/CD pipeline
- Add lint job as first stage (fail-fast)
- Build and push Docker image to Harbor registry
- Deploy via SSH with image tag from commit SHA
- Add deployment verification with health check
- Update Dockerfile to Node 20 and fix npm ci
- Support IMAGE variable in docker-compose for deployments

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 16:59:51 -07:00
d033483633 Fix activity data access to match backend response format
Some checks failed
Deploy Apartment Dashboard / deploy (push) Has been cancelled
Update ActivityStream and AdminOverview to access data.data.activities
and data.data.pagination to match the wrapped response format.
2026-01-22 14:17:08 -07:00
b44bd9fc22 Admin Dashboard Frontend (Phases 1-4) (#3)
Some checks failed
Deploy Apartment Dashboard / deploy (push) Has been cancelled
Co-authored-by: Stephen Minakian <stephenminakian@gmail.com>
Co-committed-by: Stephen Minakian <stephenminakian@gmail.com>
2026-01-22 14:12:58 -07:00
2ffe3a0197 Change price filter max to mean no limit
Some checks failed
Deploy Apartment Dashboard / deploy (push) Has been cancelled
When the slider is at max (10000), no price filtering is applied.
Moving below 10000 starts filtering. Display shows "No limit" at max.
2026-01-21 13:13:42 -07:00
4e8d64ddc8 Frontend improvements (#2)
Some checks failed
Deploy Apartment Dashboard / deploy (push) Failing after 1s
Co-authored-by: Stephen Minakian <stephenminakian@gmail.com>
Co-committed-by: Stephen Minakian <stephenminakian@gmail.com>
2026-01-21 12:04:13 -07:00
5e0cbc2efc Improve chart visualization and UI layout (#1)
Some checks failed
Deploy Apartment Dashboard / deploy (push) Failing after 1s
Co-authored-by: Stephen Minakian <stephenminakian@gmail.com>
Co-committed-by: Stephen Minakian <stephenminakian@gmail.com>
2026-01-21 11:03:13 -07:00
a2fe657a19 Add URL routing for pages
Some checks failed
Deploy Apartment Dashboard / deploy (push) Failing after 1s
- Install react-router-dom for client-side routing
- Overview accessible at /
- Available Units accessible at /units
- Analytics accessible at /analytics
- Unknown routes redirect to overview
- Update page title to Towers Tracking
2026-01-21 10:38:31 -07:00
6d89399c23 Add sorting, filtering fixes, analytics, and UI improvements
Some checks failed
Deploy Apartment Dashboard / deploy (push) Failing after 1s
- Add alphabetical sorting as default with multiple sort options
- Fix bedroom filter to properly handle studios (0 BR)
- Update bedroom filter options to Studio, 1 BR, 2 BR
- Add time range selector (1M, 1Y, All) for unit price history charts
- Fetch full price history on demand when viewing unit details
- Add comprehensive analytics page with monthly trends, seasonality,
  plan performance, and historical price comparisons
- Display last scrape time from backend instead of frontend refresh time
2026-01-21 10:08:54 -07:00
763e5a0785 Update to real api
All checks were successful
Deploy Apartment Dashboard / deploy (push) Successful in 9m59s
2025-07-15 22:28:03 -06:00
c1a7857787 Added readme
All checks were successful
Deploy Apartment Dashboard / deploy (push) Successful in 10m0s
2025-07-15 17:06:01 -06:00
89f2a82c58 Missing dockerfile content
All checks were successful
Deploy Apartment Dashboard / deploy (push) Successful in 10m5s
2025-07-15 16:41:53 -06:00
29622f54ef Add deployment workflow
Some checks failed
Deploy Apartment Dashboard / deploy (push) Failing after 4m57s
2025-07-15 16:35:58 -06:00
1708486fe7 Add deployment workflow and Docker configuration 2025-07-15 16:33:57 -06:00
be399f30fe Initial commit: Apartment dashboard React app 2025-07-15 16:22:17 -06:00