https://github.com/CampCareer/campcareer
· scanned 2026-06-17 01:22 UTC (1 month, 2 weeks ago)
63 raw signals (0 security + 63 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -7.7 (diff) · 63 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 636 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
main |
software | healthy | scripts/test-degree-risk-majors.ts:main |
main |
software | healthy | scripts/sync-cities-ca.ts:main |
toSlug |
software | healthy | scripts/sync-colleges-au.ts:toSlug |
parseLeading |
software | healthy | scripts/sync-colleges-au.ts:parseLeading |
downloadFile |
software | healthy | scripts/sync-colleges-au.ts:downloadFile |
discoverQiltUrls |
software | healthy | scripts/sync-colleges-au.ts:discoverQiltUrls |
href |
software | healthy | scripts/sync-colleges-au.ts:href |
text |
software | healthy | scripts/sync-colleges-au.ts:text |
parseInstSheet |
software | healthy | scripts/sync-colleges-au.ts:parseInstSheet |
refreshView |
software | healthy | scripts/sync-colleges-au.ts:refreshView |
main |
software | healthy | scripts/sync-colleges-au.ts:main |
getMedianEarnings |
software | healthy | scripts/sync-programs.ts:getMedianEarnings |
fetchPage |
software | healthy | scripts/sync-programs.ts:fetchPage |
loadCollegeIdMap |
software | healthy | scripts/sync-programs.ts:loadCollegeIdMap |
main |
software | healthy | scripts/sync-programs.ts:main |
downloadBuffer |
software | healthy | scripts/sync-colleges-ca.ts:downloadBuffer |
ct |
software | healthy | scripts/sync-colleges-ca.ts:ct |
splitCSVRow |
software | healthy | scripts/sync-colleges-ca.ts:splitCSVRow |
parseEarningsFromCSV |
software | healthy | scripts/sync-colleges-ca.ts:parseEarningsFromCSV |
fetchStatsCanadaEarnings |
software | healthy | scripts/sync-colleges-ca.ts:fetchStatsCanadaEarnings |
fetchFromOpenCanada |
software | healthy | scripts/sync-colleges-ca.ts:fetchFromOpenCanada |
toSlug |
software | healthy | scripts/sync-colleges-ca.ts:toSlug |
main |
software | healthy | scripts/sync-colleges-ca.ts:main |
toSlug |
software | healthy | scripts/sync-colleges-ie.ts:toSlug |
scrapeHeaEarnings |
software | healthy | scripts/sync-colleges-ie.ts:scrapeHeaEarnings |
main |
software | healthy | scripts/sync-colleges-ie.ts:main |
main |
software | healthy | scripts/sync-cities-au.ts:main |
upsert_programs |
software | healthy | scripts/merge_to_supabase.py:31 |
resolve_id |
software | healthy | scripts/merge_to_supabase.py:45 |
parseName |
software | healthy | scripts/sync-cities.ts:parseName |
toSlug |
software | healthy | scripts/sync-cities.ts:toSlug |
parseNum |
software | healthy | scripts/sync-cities.ts:parseNum |
fetchState |
software | healthy | scripts/sync-cities.ts:fetchState |
main |
software | healthy | scripts/sync-cities.ts:main |
main |
software | healthy | scripts/sync-cities-ie.ts:main |
fetchPage |
software | healthy | scripts/sync-colleges.ts:fetchPage |
transform |
software | healthy | scripts/sync-colleges.ts:transform |
main |
software | healthy | scripts/sync-colleges.ts:main |
downloadBuffer |
software | healthy | scripts/sync-colleges-uk.ts:downloadBuffer |
splitCSVRow |
software | healthy | scripts/sync-colleges-uk.ts:splitCSVRow |
parseCSV |
software | healthy | scripts/sync-colleges-uk.ts:parseCSV |
parseSalary |
software | healthy | scripts/sync-colleges-uk.ts:parseSalary |
wordTokens |
software | healthy | scripts/sync-colleges-uk.ts:wordTokens |
overlapScore |
software | healthy | scripts/sync-colleges-uk.ts:overlapScore |
findEarnings |
software | healthy | scripts/sync-colleges-uk.ts:findEarnings |
parseHesaZip |
software | healthy | scripts/sync-colleges-uk.ts:parseHesaZip |
scrapeHesa |
software | healthy | scripts/sync-colleges-uk.ts:scrapeHesa |
parseLeoProviderCSVBuffer |
software | healthy | scripts/sync-colleges-uk.ts:parseLeoProviderCSVBuffer |
idx |
software | healthy | scripts/sync-colleges-uk.ts:idx |
parseLeoZip |
software | healthy | scripts/sync-colleges-uk.ts:parseLeoZip |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tailwind.config.ts |
software | healthy | tailwind.config.ts |
.eslintrc.json |
software | healthy | .eslintrc.json |
next.config.mjs |
software | healthy | next.config.mjs |
vercel.json |
software | healthy | vercel.json |
package-lock.json |
software | healthy | package-lock.json |
README.md |
software | healthy | README.md |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
LICENSE |
software | healthy | LICENSE |
package.json |
software | healthy | package.json |
components.json |
software | healthy | components.json |
tsconfig.json |
software | healthy | tsconfig.json |
test-degree-risk-majors.ts |
software | healthy | scripts/test-degree-risk-majors.ts |
sync-cities-ca.ts |
software | healthy | scripts/sync-cities-ca.ts |
sync-colleges-au.ts |
software | healthy | scripts/sync-colleges-au.ts |
sync-programs.ts |
software | healthy | scripts/sync-programs.ts |
sync-colleges-ca.ts |
software | healthy | scripts/sync-colleges-ca.ts |
sync-colleges-ie.ts |
software | healthy | scripts/sync-colleges-ie.ts |
sync-cities-au.ts |
software | healthy | scripts/sync-cities-au.ts |
merge_to_supabase.py |
software | healthy | scripts/merge_to_supabase.py |
sync-cities.ts |
software | healthy | scripts/sync-cities.ts |
sync-cities-ie.ts |
software | healthy | scripts/sync-cities-ie.ts |
sync-colleges.ts |
software | healthy | scripts/sync-colleges.ts |
sync-colleges-uk.ts |
software | healthy | scripts/sync-colleges-uk.ts |
fetch_earnings_multiyear.py |
software | healthy | scripts/fetch_earnings_multiyear.py |
scraper_qualifax.py |
software | healthy | scripts/scraper_qualifax.py |
sync-cities-uk.ts |
software | healthy | scripts/sync-cities-uk.ts |
calc-roi.ts |
software | healthy | scripts/calc-roi.ts |
import_cricos.py |
software | healthy | scripts/import_cricos.py |
upsert-courses-ie.ts |
software | healthy | scripts/upsert-courses-ie.ts |
scraper_hea.py |
software | healthy | scripts/scraper_hea.py |
scrape-tuition-au.ts |
software | healthy | scripts/scrape-tuition-au.ts |
middleware.ts |
software | healthy | src/middleware.ts |
globals.css |
software | healthy | src/app/globals.css |
layout.tsx |
software | healthy | src/app/layout.tsx |
page.tsx |
software | healthy | src/app/page.tsx |
robots.ts |
software | healthy | src/app/robots.ts |
sitemap.ts |
software | healthy | src/app/sitemap.ts |
layout.tsx |
software | healthy | src/app/dashboard/layout.tsx |
page.tsx |
software | healthy | src/app/dashboard/page.tsx |
layout.tsx |
software | healthy | src/app/login/layout.tsx |
page.tsx |
software | healthy | src/app/login/page.tsx |
route.ts |
software | healthy | src/app/api/roi/route.ts |
route.ts |
software | healthy | src/app/api/roi/fields/route.ts |
route.ts |
software | healthy | src/app/api/exchange-rates/route.ts |
route.ts |
software | healthy | src/app/api/checklist/route.ts |
route.ts |
software | healthy | src/app/api/compare/route.ts |
route.ts |
software | healthy | src/app/api/career-path/route.ts |
layout.tsx |
software | healthy | src/app/checklist/layout.tsx |
page.tsx |
software | healthy | src/app/checklist/page.tsx |
layout.tsx |
software | healthy | src/app/timeline/layout.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
src |
software | healthy | src |
app |
software | healthy | src/app |
dashboard |
software | healthy | src/app/dashboard |
login |
software | healthy | src/app/login |
api |
software | healthy | src/app/api |
roi |
software | healthy | src/app/api/roi |
fields |
software | healthy | src/app/api/roi/fields |
exchange-rates |
software | healthy | src/app/api/exchange-rates |
checklist |
software | healthy | src/app/api/checklist |
compare |
software | healthy | src/app/api/compare |
career-path |
software | healthy | src/app/api/career-path |
checklist |
software | healthy | src/app/checklist |
timeline |
software | healthy | src/app/timeline |
games |
software | healthy | src/app/games |
vacant-dublin |
software | healthy | src/app/games/vacant-dublin |
compare |
software | healthy | src/app/compare |
auth |
software | healthy | src/app/auth |
callback |
software | healthy | src/app/auth/callback |
fields |
software | healthy | src/app/fields |
[field] |
software | healthy | src/app/fields/[field] |
rankings |
software | healthy | src/app/rankings |
[field] |
software | healthy | src/app/rankings/[field] |
[country] |
software | healthy | src/app/rankings/[field]/[country] |
onboarding |
software | healthy | src/app/onboarding |
career-path |
software | healthy | src/app/career-path |
share |
software | healthy | src/app/career-path/share |
[id] |
software | healthy | src/app/career-path/share/[id] |
saved |
software | healthy | src/app/saved |
lib |
software | healthy | src/app/lib |
degree-risk |
software | healthy | src/app/degree-risk |
result |
software | healthy | src/app/degree-risk/result |
privacy |
software | healthy | src/app/privacy |
methodology |
software | healthy | src/app/methodology |
blog |
software | healthy | src/app/blog |
[slug] |
software | healthy | src/app/blog/[slug] |
documents |
software | healthy | src/app/documents |
roi-explorer |
software | healthy | src/app/roi-explorer |
[country] |
software | healthy | src/app/roi-explorer/[country] |
[college_id] |
software | healthy | src/app/roi-explorer/[country]/[college_id] |
terms |
software | healthy | src/app/terms |
components |
software | healthy | src/components |
layout |
software | healthy | src/components/layout |
seo |
software | healthy | src/components/seo |
blog |
software | healthy | src/components/blog |
ui |
software | healthy | src/components/ui |
lib |
software | healthy | src/lib |
i18n |
software | healthy | src/lib/i18n |
dictionaries |
software | healthy | src/lib/i18n/dictionaries |
supabase |
software | healthy | supabase |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
RootLayout |
frontend | healthy | src/app/layout.tsx |
LandingPage |
frontend | healthy | src/app/page.tsx |
DashboardLayout |
frontend | healthy | src/app/dashboard/layout.tsx |
Dashboard |
frontend | healthy | src/app/dashboard/page.tsx |
LoginLayout |
frontend | healthy | src/app/login/layout.tsx |
LoginPage |
frontend | healthy | src/app/login/page.tsx |
ChecklistLayout |
frontend | healthy | src/app/checklist/layout.tsx |
ChecklistPage |
frontend | healthy | src/app/checklist/page.tsx |
TimelineLayout |
frontend | healthy | src/app/timeline/layout.tsx |
TimelinePage |
frontend | healthy | src/app/timeline/page.tsx |
GamesPage |
frontend | healthy | src/app/games/page.tsx |
VacantDublinPage |
frontend | healthy | src/app/games/vacant-dublin/page.tsx |
CompareLayout |
frontend | healthy | src/app/compare/layout.tsx |
CompareBarChart |
frontend | healthy | src/app/compare/bar-chart.tsx |
ComparePage |
frontend | healthy | src/app/compare/page.tsx |
FieldsIndexPage |
frontend | healthy | src/app/fields/page.tsx |
OnboardingLayout |
frontend | healthy | src/app/onboarding/layout.tsx |
OnboardingPage |
frontend | healthy | src/app/onboarding/page.tsx |
CareerPathLayout |
frontend | healthy | src/app/career-path/layout.tsx |
CareerPathPage |
frontend | healthy | src/app/career-path/page.tsx |
ShareCareerPathPage |
frontend | healthy | src/app/career-path/share/[id]/page.tsx |
SavedLayout |
frontend | healthy | src/app/saved/layout.tsx |
SavedPage |
frontend | healthy | src/app/saved/page.tsx |
DegreeRiskPage |
frontend | healthy | src/app/degree-risk/page.tsx |
PrivacyPage |
frontend | healthy | src/app/privacy/page.tsx |
MethodologyPage |
frontend | healthy | src/app/methodology/page.tsx |
BlogPage |
frontend | healthy | src/app/blog/page.tsx |
BlogPostPage |
frontend | healthy | src/app/blog/[slug]/page.tsx |
DocumentsLayout |
frontend | healthy | src/app/documents/layout.tsx |
DocumentsPage |
frontend | healthy | src/app/documents/page.tsx |
ROIExplorerLayout |
frontend | healthy | src/app/roi-explorer/layout.tsx |
SalaryGrowthChart |
frontend | healthy | src/app/roi-explorer/SalaryGrowthChart.tsx |
TermsPage |
frontend | healthy | src/app/terms/page.tsx |
GuestBanner |
frontend | healthy | src/components/GuestBanner.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | src/app/page.tsx |
/dashboard |
frontend | healthy | src/app/dashboard/page.tsx |
/login |
frontend | healthy | src/app/login/page.tsx |
/checklist |
frontend | healthy | src/app/checklist/page.tsx |
/timeline |
frontend | healthy | src/app/timeline/page.tsx |
/games |
frontend | healthy | src/app/games/page.tsx |
/games/vacant-dublin |
frontend | healthy | src/app/games/vacant-dublin/page.tsx |
/compare |
frontend | healthy | src/app/compare/page.tsx |
/fields |
frontend | healthy | src/app/fields/page.tsx |
/fields/[field] |
frontend | healthy | src/app/fields/[field]/page.tsx |
/rankings/[field]/[country] |
frontend | healthy | src/app/rankings/[field]/[country]/page.tsx |
/onboarding |
frontend | healthy | src/app/onboarding/page.tsx |
/career-path |
frontend | healthy | src/app/career-path/page.tsx |
/career-path/share/[id] |
frontend | healthy | src/app/career-path/share/[id]/page.tsx |
/saved |
frontend | healthy | src/app/saved/page.tsx |
/degree-risk |
frontend | healthy | src/app/degree-risk/page.tsx |
/degree-risk/result |
frontend | healthy | src/app/degree-risk/result/page.tsx |
/privacy |
frontend | healthy | src/app/privacy/page.tsx |
/methodology |
frontend | healthy | src/app/methodology/page.tsx |
/blog |
frontend | healthy | src/app/blog/page.tsx |
/blog/[slug] |
frontend | healthy | src/app/blog/[slug]/page.tsx |
/documents |
frontend | healthy | src/app/documents/page.tsx |
/roi-explorer |
frontend | healthy | src/app/roi-explorer/page.tsx |
/roi-explorer/[country]/[college_id] |
frontend | healthy | src/app/roi-explorer/[country]/[college_id]/page.tsx |
/terms |
frontend | healthy | src/app/terms/page.tsx |
/ |
frontend | healthy | src/middleware.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
20260530_courses_ie.sql |
data | healthy | supabase/migrations/20260530_courses_ie.sql |
20260608130000_user_preferences_field_column.sql |
data | healthy | supabase/migrations/20260608130000_user_preferences_field_c… |
20260608140000_fix_rls_with_check.sql |
data | healthy | supabase/migrations/20260608140000_fix_rls_with_check.sql |
20260608120000_user_preferences_preference_columns.sql |
data | healthy | supabase/migrations/20260608120000_user_preferences_prefere… |
20260607120000_add_field_to_user_preferences.sql |
data | healthy | supabase/migrations/20260607120000_add_field_to_user_prefer… |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/app/documents/page.tsx |
security | healthy | src/app/documents/page.tsx |
auth::src/lib/i18n/dictionaries/en.ts |
security | healthy | src/lib/i18n/dictionaries/en.ts |
auth::src/lib/i18n/dictionaries/ko.ts |
security | healthy | src/lib/i18n/dictionaries/ko.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
CampCareer__campcareer |
software | healthy | /data/fable5_failed_archive/CampCareer__campcareer |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | src/lib/roi-query.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
courses_ie |
data | healthy | supabase/migrations/20260530_courses_ie.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
124.0.0.0 |
network | healthy | scripts/scrape-tuition-au.ts |
This page is publicly accessible at:
https://repobility.com/scan/a55cc52c-1b04-404c-8b77-b37bea0ffa16/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a55cc52c-1b04-404c-8b77-b37bea0ffa16/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.