https://github.com/amaanjaved1/Coursify-WebApp
· scanned 2026-06-17 01:32 UTC (1 month, 2 weeks ago)
45 raw signals (0 security + 45 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -7.6 (diff) · 45 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1091 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 |
|---|---|---|---|
backup |
software | healthy | backup-db.js:backup |
setSupabaseEnv |
software | healthy | tests/course-comments-route.test.ts:setSupabaseEnv |
restoreSupabaseEnv |
software | healthy | tests/course-comments-route.test.ts:restoreSupabaseEnv |
loadCommentsRoute |
software | healthy | tests/course-comments-route.test.ts:loadCommentsRoute |
request |
software | healthy | tests/course-comments-route.test.ts:request |
params |
software | healthy | tests/course-comments-route.test.ts:params |
createRagQuery |
software | healthy | tests/course-comments-route.test.ts:createRagQuery |
createSupabase |
software | healthy | tests/course-comments-route.test.ts:createSupabase |
request |
software | healthy | tests/auth-callback-route.test.ts:request |
getRequest |
software | healthy | tests/queens-answers-routes.test.ts:getRequest |
chatRequest |
software | healthy | tests/queens-answers-routes.test.ts:chatRequest |
mockOffering |
software | healthy | tests/plan-courses-timetable.test.ts:mockOffering |
request |
software | healthy | tests/issues-route-security.test.ts:request |
rawRequest |
software | healthy | tests/issues-route-security.test.ts:rawRequest |
baseOffering |
software | healthy | tests/plan-courses-schedule.test.ts:baseOffering |
request |
software | healthy | tests/queens-answers-chat-route-security.test.ts:request |
rawRequest |
software | healthy | tests/queens-answers-chat-route-security.test.ts:rawRequest |
makeLine |
software | healthy | tests/parse-distribution.test.ts:makeLine |
request |
software | healthy | tests/rate-limit.test.ts:request |
baseOffering |
software | healthy | tests/plan-courses-schedule-filter.test.ts:baseOffering |
mockOffering |
software | healthy | tests/plan-courses-ics.test.ts:mockOffering |
mockOffering |
software | healthy | tests/plan-courses-combo-generation.test.ts:mockOffering |
starred |
software | healthy | tests/plan-courses-combo-generation.test.ts:starred |
setSupabaseEnv |
software | healthy | tests/courses-routes.test.ts:setSupabaseEnv |
restoreSupabaseEnv |
software | healthy | tests/courses-routes.test.ts:restoreSupabaseEnv |
loadCoursesRoute |
software | healthy | tests/courses-routes.test.ts:loadCoursesRoute |
loadCourseDetailRoute |
software | healthy | tests/courses-routes.test.ts:loadCourseDetailRoute |
request |
software | healthy | tests/courses-routes.test.ts:request |
params |
software | healthy | tests/courses-routes.test.ts:params |
createQuery |
software | healthy | tests/courses-routes.test.ts:createQuery |
selectFrom |
software | healthy | tests/courses-routes.test.ts:selectFrom |
setSupabaseEnv |
software | healthy | tests/upload-distribution-route-security.test.ts:setSupabas… |
restoreSupabaseEnv |
software | healthy | tests/upload-distribution-route-security.test.ts:restoreSup… |
formRequest |
software | healthy | tests/upload-distribution-route-security.test.ts:formRequest |
pdfRequest |
software | healthy | tests/upload-distribution-route-security.test.ts:pdfRequest |
createQuery |
software | healthy | tests/upload-distribution-route-security.test.ts:createQuery |
createSupabase |
software | healthy | tests/upload-distribution-route-security.test.ts:createSupa… |
baseSection |
software | healthy | tests/plan-courses-contracts.test.ts:baseSection |
offering |
software | healthy | tests/plan-courses-offering-display.test.ts:offering |
request |
software | healthy | tests/authenticated-supabase.test.ts:request |
loadHelper |
software | healthy | tests/authenticated-supabase.test.ts:loadHelper |
hasActiveFilters |
software | healthy | tests/reset-button-guard.mjs:hasActiveFilters |
sortIsAtDefault |
software | healthy | tests/reset-button-guard.mjs:sortIsAtDefault |
defaultState |
software | healthy | tests/reset-button-guard.mjs:defaultState |
resetBefore |
software | healthy | tests/reset-button-guard.mjs:resetBefore |
resetAfter |
software | healthy | tests/reset-button-guard.mjs:resetAfter |
runScenario |
software | healthy | tests/reset-button-guard.mjs:runScenario |
elapsed |
software | healthy | tests/reset-button-guard.mjs:elapsed |
offering |
software | healthy | tests/plan-courses-stats-filter.test.ts:offering |
Loading |
software | healthy | src/app/loading.tsx:Loading |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
tailwind.config.ts |
software | healthy | tailwind.config.ts |
vitest.config.ts |
software | healthy | vitest.config.ts |
next.config.mjs |
software | healthy | next.config.mjs |
vercel.json |
software | healthy | vercel.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
eslint.config.mjs |
software | healthy | eslint.config.mjs |
package-lock.json |
software | healthy | package-lock.json |
README.md |
software | healthy | README.md |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
backup-db.js |
software | healthy | backup-db.js |
LICENSE |
software | healthy | LICENSE |
package.json |
software | healthy | package.json |
tsconfig.json |
software | healthy | tsconfig.json |
course-comments-route.test.ts |
software | healthy | tests/course-comments-route.test.ts |
auth-callback-route.test.ts |
software | healthy | tests/auth-callback-route.test.ts |
access-status.test.ts |
software | healthy | tests/access-status.test.ts |
plan-courses-schedule-dirty.test.ts |
software | healthy | tests/plan-courses-schedule-dirty.test.ts |
queens-answers-routes.test.ts |
software | healthy | tests/queens-answers-routes.test.ts |
plan-courses-timetable.test.ts |
software | healthy | tests/plan-courses-timetable.test.ts |
plan-courses-offerings-query.test.ts |
software | healthy | tests/plan-courses-offerings-query.test.ts |
course-query-validation.test.ts |
software | healthy | tests/course-query-validation.test.ts |
issues-route-security.test.ts |
software | healthy | tests/issues-route-security.test.ts |
plan-courses-schedule.test.ts |
software | healthy | tests/plan-courses-schedule.test.ts |
safe-redirect.test.ts |
software | healthy | tests/safe-redirect.test.ts |
seasonal-term-policy.test.ts |
software | healthy | tests/seasonal-term-policy.test.ts |
queens-answers-chat-route-security.test.ts |
software | healthy | tests/queens-answers-chat-route-security.test.ts |
parse-distribution.test.ts |
software | healthy | tests/parse-distribution.test.ts |
rate-limit.test.ts |
software | healthy | tests/rate-limit.test.ts |
plan-courses-schedule-filter.test.ts |
software | healthy | tests/plan-courses-schedule-filter.test.ts |
plan-courses-ics.test.ts |
software | healthy | tests/plan-courses-ics.test.ts |
plan-courses-combo-generation.test.ts |
software | healthy | tests/plan-courses-combo-generation.test.ts |
courses-routes.test.ts |
software | healthy | tests/courses-routes.test.ts |
queens-answers-rate-limit.test.ts |
software | healthy | tests/queens-answers-rate-limit.test.ts |
upload-distribution-route-security.test.ts |
software | healthy | tests/upload-distribution-route-security.test.ts |
academic-profile-validation.test.ts |
software | healthy | tests/academic-profile-validation.test.ts |
plan-courses-contracts.test.ts |
software | healthy | tests/plan-courses-contracts.test.ts |
plan-courses-offering-display.test.ts |
software | healthy | tests/plan-courses-offering-display.test.ts |
authenticated-supabase.test.ts |
software | healthy | tests/authenticated-supabase.test.ts |
reset-button-guard.mjs |
software | healthy | tests/reset-button-guard.mjs |
plan-courses-stats-filter.test.ts |
software | healthy | tests/plan-courses-stats-filter.test.ts |
semester-bump.yml |
software | healthy | .github/workflows/semester-bump.yml |
db-backup.yml |
software | healthy | .github/workflows/db-backup.yml |
onboarding-reminders.yml |
software | healthy | .github/workflows/onboarding-reminders.yml |
loading.tsx |
software | healthy | src/app/loading.tsx |
globals.css |
software | healthy | src/app/globals.css |
layout.tsx |
software | healthy | src/app/layout.tsx |
page.tsx |
software | healthy | src/app/page.tsx |
page.tsx |
software | healthy | src/app/about/page.tsx |
_types.ts |
software | healthy | src/app/about/_types.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
app |
software | healthy | src/app |
about |
software | healthy | src/app/about |
_components |
software | healthy | src/app/about/_components |
_lib |
software | healthy | src/app/about/_lib |
degree-planner |
software | healthy | src/app/degree-planner |
api |
software | healthy | src/app/api |
plan-courses |
software | healthy | src/app/api/plan-courses |
schedules |
software | healthy | src/app/api/plan-courses/schedules |
[scheduleId] |
software | healthy | src/app/api/plan-courses/schedules/[scheduleId] |
saved |
software | healthy | src/app/api/plan-courses/saved |
[sectionId] |
software | healthy | src/app/api/plan-courses/saved/[sectionId] |
starred |
software | healthy | src/app/api/plan-courses/starred |
groups |
software | healthy | src/app/api/plan-courses/starred/groups |
[groupId] |
software | healthy | src/app/api/plan-courses/starred/groups/[groupId] |
[sectionId] |
software | healthy | src/app/api/plan-courses/starred/[sectionId] |
offerings |
software | healthy | src/app/api/plan-courses/offerings |
auth |
software | healthy | src/app/api/auth |
resend-verification |
software | healthy | src/app/api/auth/resend-verification |
signup-status |
software | healthy | src/app/api/auth/signup-status |
courses |
software | healthy | src/app/api/courses |
subjects |
software | healthy | src/app/api/courses/subjects |
[courseCode] |
software | healthy | src/app/api/courses/[courseCode] |
comments |
software | healthy | src/app/api/courses/[courseCode]/comments |
departments |
software | healthy | src/app/api/courses/departments |
internal |
software | healthy | src/app/api/internal |
semester-debump-all |
software | healthy | src/app/api/internal/semester-debump-all |
semester-bump-all |
software | healthy | src/app/api/internal/semester-bump-all |
onboarding-reminders |
software | healthy | src/app/api/internal/onboarding-reminders |
me |
software | healthy | src/app/api/me |
uploads |
software | healthy | src/app/api/me/uploads |
academic-profile |
software | healthy | src/app/api/me/academic-profile |
access-status |
software | healthy | src/app/api/me/access-status |
issues |
software | healthy | src/app/api/issues |
queens-answers |
software | healthy | src/app/api/queens-answers |
chat |
software | healthy | src/app/api/queens-answers/chat |
status |
software | healthy | src/app/api/queens-answers/status |
upload-distribution |
software | healthy | src/app/api/upload-distribution |
_lib |
software | healthy | src/app/api/_lib |
stats |
software | healthy | src/app/api/stats |
user-count |
software | healthy | src/app/api/stats/user-count |
plan-courses |
software | healthy | src/app/plan-courses |
hooks |
software | healthy | src/app/plan-courses/hooks |
components |
software | healthy | src/app/plan-courses/components |
auth |
software | healthy | src/app/auth |
confirm |
software | healthy | src/app/auth/confirm |
callback |
software | healthy | src/app/auth/callback |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Loading |
frontend | healthy | src/app/loading.tsx |
RootLayout |
frontend | healthy | src/app/layout.tsx |
Home |
frontend | healthy | src/app/page.tsx |
About |
frontend | healthy | src/app/about/page.tsx |
DegreePlannerPage |
frontend | healthy | src/app/degree-planner/page.tsx |
PlanCoursesPage |
frontend | healthy | src/app/plan-courses/page.tsx |
ConfirmEmailPage |
frontend | healthy | src/app/auth/confirm/page.tsx |
CoursesLayout |
frontend | healthy | src/app/courses/layout.tsx |
SettingsPage |
frontend | healthy | src/app/settings/page.tsx |
Loading |
frontend | healthy | src/app/add-courses/loading.tsx |
AddCoursesPage |
frontend | healthy | src/app/add-courses/page.tsx |
OnboardingPage |
frontend | healthy | src/app/onboarding/page.tsx |
CourseCommentsPage |
frontend | healthy | src/app/course-comments/page.tsx |
IssuesPage |
frontend | healthy | src/app/issues/page.tsx |
QueensAnswersPage |
frontend | healthy | src/app/queens-answers/page.tsx |
AuthLayout |
frontend | healthy | src/app/(auth)/layout.tsx |
SignIn |
frontend | healthy | src/app/(auth)/sign-in/page.tsx |
ResendVerificationEmailPage |
frontend | healthy | src/app/(auth)/resend-verification/page.tsx |
SignUp |
frontend | healthy | src/app/(auth)/sign-up/page.tsx |
ForgotPassword |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
PrivacyPolicy |
frontend | healthy | src/app/privacy/page.tsx |
Loading |
frontend | healthy | src/app/schools/queens/loading.tsx |
QueensCourses |
frontend | healthy | src/app/schools/queens/page.tsx |
CourseSearchPage |
frontend | healthy | src/app/schools/queens/search/page.tsx |
CourseDetailPage |
frontend | healthy | src/app/schools/queens/[courseCode]/page.tsx |
TermsOfUse |
frontend | healthy | src/app/terms/page.tsx |
Footer |
frontend | healthy | src/components/footer.tsx |
ContributionGate |
frontend | healthy | src/components/contribution-gate.tsx |
AuthRequired |
frontend | healthy | src/components/auth-required.tsx |
Navigation |
frontend | healthy | src/components/navigation.tsx |
OnboardingGuard |
frontend | healthy | src/components/onboarding-guard.tsx |
SeasonalUploadBanner |
frontend | healthy | src/components/seasonal-upload-banner.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | src/app/page.tsx |
/about |
frontend | healthy | src/app/about/page.tsx |
/degree-planner |
frontend | healthy | src/app/degree-planner/page.tsx |
/plan-courses |
frontend | healthy | src/app/plan-courses/page.tsx |
/auth/confirm |
frontend | healthy | src/app/auth/confirm/page.tsx |
/courses |
frontend | healthy | src/app/courses/page.tsx |
/settings |
frontend | healthy | src/app/settings/page.tsx |
/add-courses |
frontend | healthy | src/app/add-courses/page.tsx |
/onboarding |
frontend | healthy | src/app/onboarding/page.tsx |
/course-comments |
frontend | healthy | src/app/course-comments/page.tsx |
/issues |
frontend | healthy | src/app/issues/page.tsx |
/queens-answers |
frontend | healthy | src/app/queens-answers/page.tsx |
/(auth)/sign-in |
frontend | healthy | src/app/(auth)/sign-in/page.tsx |
/(auth)/resend-verification |
frontend | healthy | src/app/(auth)/resend-verification/page.tsx |
/(auth)/sign-up |
frontend | healthy | src/app/(auth)/sign-up/page.tsx |
/(auth)/forgot-password |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
/privacy |
frontend | healthy | src/app/privacy/page.tsx |
/schools/queens |
frontend | healthy | src/app/schools/queens/page.tsx |
/schools/queens/search |
frontend | healthy | src/app/schools/queens/search/page.tsx |
/schools/queens/[courseCode] |
frontend | healthy | src/app/schools/queens/[courseCode]/page.tsx |
/terms |
frontend | healthy | src/app/terms/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
20260611000000_user_starred_sections.sql |
data | healthy | supabase/migrations/20260611000000_user_starred_sections.sql |
20260427000000_distribution_uploads_unique_processed.sql |
data | healthy | supabase/migrations/20260427000000_distribution_uploads_uni… |
20260416000000_add_semester_zero_locked.sql |
data | healthy | supabase/migrations/20260416000000_add_semester_zero_locked… |
20260526000000_add_solus_course_offerings.sql |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
20260611000001_user_schedules.sql |
data | healthy | supabase/migrations/20260611000001_user_schedules.sql |
20260519000001_update_onboarding_reminders_logic.sql |
data | healthy | supabase/migrations/20260519000001_update_onboarding_remind… |
20260609013023_user_saved_sections.sql |
data | healthy | supabase/migrations/20260609013023_user_saved_sections.sql |
20260429000000_add_qa_daily_usage.sql |
data | healthy | supabase/migrations/20260429000000_add_qa_daily_usage.sql |
20260609005837_add_schedule_slots_to_sections.sql |
data | healthy | supabase/migrations/20260609005837_add_schedule_slots_to_se… |
20260519000000_add_onboarding_reminders.sql |
data | healthy | supabase/migrations/20260519000000_add_onboarding_reminders… |
20260405190000_baseline_schema.sql |
data | healthy | supabase/migrations/20260405190000_baseline_schema.sql |
20260518000000_replace_semester_zero_locked.sql |
data | healthy | supabase/migrations/20260518000000_replace_semester_zero_lo… |
| Label | Layer | Status | Path |
|---|---|---|---|
hours |
software | healthy | tests/plan-courses-timetable.test.ts:hours |
starts |
software | healthy | tests/plan-courses-combo-generation.test.ts:starts |
schedule |
software | healthy | src/app/plan-courses/components/ScheduleDisplay.tsx:schedule |
starts |
software | healthy | src/lib/plan-courses/combo-generation.ts:starts |
blocks |
software | healthy | src/lib/plan-courses/timetable.ts:blocks |
hours |
software | healthy | src/lib/plan-courses/timetable.ts:hours |
| Label | Layer | Status | Path |
|---|---|---|---|
public |
data | healthy | supabase/migrations/20260611000000_user_starred_sections.sql |
course_offerings |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
course_offering_sections |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
course_offering_options |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
course_offering_option_sections |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
user_saved_options |
data | healthy | supabase/migrations/20260526000000_add_solus_course_offerin… |
| Label | Layer | Status | Path |
|---|---|---|---|
APP_URL |
cicd | healthy | — |
SUPABASE_SERVICE_KEY |
cicd | healthy | — |
BACKUP_REPO_TOKEN |
cicd | healthy | — |
SUPABASE_URL |
cicd | healthy | — |
CRON_SECRET |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | .env.example |
postgres |
data | healthy | package-lock.json |
postgresql |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
203.0.113.7 |
network | healthy | tests/rate-limit.test.ts |
10.0.0.1 |
network | healthy | tests/rate-limit.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::supabase/config.toml |
security | healthy | supabase/config.toml |
auth::.env.example |
security | healthy | .env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::semester-bump |
cicd | healthy | .github/workflows/semester-bump.yml |
gha::db-backup |
cicd | healthy | .github/workflows/db-backup.yml |
gha::onboarding-reminders |
cicd | healthy | .github/workflows/onboarding-reminders.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
bump |
cicd | healthy | .github/workflows/semester-bump.yml |
backup |
cicd | healthy | .github/workflows/db-backup.yml |
remind |
cicd | healthy | .github/workflows/onboarding-reminders.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:12 |
network | healthy | .github/workflows/onboarding-reminders.yml |
port:587 |
network | healthy | src/lib/email.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | supabase/config.toml |
vps::aws |
hardware | healthy | supabase/config.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
amaanjaved1__Coursify-WebApp |
software | healthy | /data/fable5_failed_archive/amaanjaved1__Coursify-WebApp |
This page is publicly accessible at:
https://repobility.com/scan/1e31192b-9680-4d18-b361-08a23ad55059/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/1e31192b-9680-4d18-b361-08a23ad55059/
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.