https://github.com/xAL6/nknu-course-rating
· scanned 2026-06-16 01:01 UTC (2 months, 1 week ago)
21 raw signals (0 security + 21 graph)
Last scanned 2 months, 1 week ago · v1 · 21 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 633 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 |
|---|---|---|---|
b64url |
software | healthy | tests/helpers.ts:b64url |
signUserJwt |
software | healthy | tests/helpers.ts:signUserJwt |
userClientFor |
software | healthy | tests/helpers.ts:userClientFor |
rows |
software | healthy | tests/integration/features.test.ts:rows |
total |
software | healthy | tests/integration/features.test.ts:total |
send |
software | healthy | tests/integration/ai-e2e.test.ts:send |
ask |
software | healthy | tests/integration/ai-e2e.test.ts:ask |
askFollowUp |
software | healthy | tests/integration/ai-e2e.test.ts:askFollowUp |
hasNoConflict |
software | healthy | tests/integration/ai-search.test.ts:hasNoConflict |
ids |
software | healthy | tests/integration/ai-search.test.ts:ids |
all |
software | healthy | tests/integration/ai-search.test.ts:all |
slotsOf |
software | healthy | tests/integration/ai-search.test.ts:slotsOf |
total |
software | healthy | tests/integration/rls.test.ts:total |
b64 |
software | healthy | tests/unit/batch.test.ts:b64 |
course |
software | healthy | tests/unit/batch.test.ts:course |
mk |
software | healthy | tests/unit/campus.test.ts:mk |
mk |
software | healthy | tests/unit/schedule-builder.test.ts:mk |
main |
software | healthy | scripts/migrate.ts:main |
main |
software | healthy | scripts/reset-data.ts:main |
createAdminClient |
software | healthy | scripts/seed-reviews.ts:createAdminClient |
isSeedEmail |
software | healthy | scripts/seed-reviews.ts:isSeedEmail |
arg |
software | healthy | scripts/seed-reviews.ts:arg |
strArg |
software | healthy | scripts/seed-reviews.ts:strArg |
rnd |
software | healthy | scripts/seed-reviews.ts:rnd |
chance |
software | healthy | scripts/seed-reviews.ts:chance |
clamp5 |
software | healthy | scripts/seed-reviews.ts:clamp5 |
shuffle |
software | healthy | scripts/seed-reviews.ts:shuffle |
sampleN |
software | healthy | scripts/seed-reviews.ts:sampleN |
makeHandles |
software | healthy | scripts/seed-reviews.ts:makeHandles |
buildText |
software | healthy | scripts/seed-reviews.ts:buildText |
tagsFor |
software | healthy | scripts/seed-reviews.ts:tagsFor |
courseProfile |
software | healthy | scripts/seed-reviews.ts:courseProfile |
ratingFrom |
software | healthy | scripts/seed-reviews.ts:ratingFrom |
j |
software | healthy | scripts/seed-reviews.ts:j |
pastDate |
software | healthy | scripts/seed-reviews.ts:pastDate |
listSeedUsers |
software | healthy | scripts/seed-reviews.ts:listSeedUsers |
ensureUsers |
software | healthy | scripts/seed-reviews.ts:ensureUsers |
purge |
software | healthy | scripts/seed-reviews.ts:purge |
rehandle |
software | healthy | scripts/seed-reviews.ts:rehandle |
sampleGroups |
software | healthy | scripts/seed-reviews.ts:sampleGroups |
main |
software | healthy | scripts/seed-reviews.ts:main |
main |
software | healthy | scripts/delete-semester.ts:main |
type |
software | healthy | scripts/scraper/nknu.ts:type |
ctxOverrides |
software | healthy | scripts/scraper/nknu.ts:ctxOverrides |
parseCourses |
software | healthy | scripts/scraper/nknu.ts:parseCourses |
txt |
software | healthy | scripts/scraper/nknu.ts:txt |
classroom |
software | healthy | scripts/scraper/nknu.ts:classroom |
parseClassTime |
software | healthy | scripts/scraper/period.ts:parseClassTime |
type |
software | healthy | scripts/scraper/rooms.ts:type |
main |
software | healthy | scripts/scraper/rooms.ts:main |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
DESIGN.md |
software | healthy | DESIGN.md |
.mcp.json |
software | healthy | .mcp.json |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
tsconfig.scripts.json |
software | healthy | tsconfig.scripts.json |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
components.json |
software | healthy | components.json |
tsconfig.json |
software | healthy | tsconfig.json |
LICENSE |
software | healthy | LICENSE |
eslint.config.mjs |
software | healthy | eslint.config.mjs |
SECURITY.md |
software | healthy | SECURITY.md |
vitest.config.ts |
software | healthy | vitest.config.ts |
next.config.ts |
software | healthy | next.config.ts |
helpers.ts |
software | healthy | tests/helpers.ts |
setup.ts |
software | healthy | tests/setup.ts |
features.test.ts |
software | healthy | tests/integration/features.test.ts |
ai-e2e.test.ts |
software | healthy | tests/integration/ai-e2e.test.ts |
ai-search.test.ts |
software | healthy | tests/integration/ai-search.test.ts |
rls.test.ts |
software | healthy | tests/integration/rls.test.ts |
period.test.ts |
software | healthy | tests/unit/period.test.ts |
batch.test.ts |
software | healthy | tests/unit/batch.test.ts |
enrollment.test.ts |
software | healthy | tests/unit/enrollment.test.ts |
campus.test.ts |
software | healthy | tests/unit/campus.test.ts |
schedule-builder.test.ts |
software | healthy | tests/unit/schedule-builder.test.ts |
logic.test.ts |
software | healthy | tests/unit/logic.test.ts |
server-only.ts |
software | healthy | tests/stubs/server-only.ts |
SETUP.md |
software | healthy | docs/SETUP.md |
migrate.ts |
software | healthy | scripts/migrate.ts |
reset-data.ts |
software | healthy | scripts/reset-data.ts |
seed-reviews.ts |
software | healthy | scripts/seed-reviews.ts |
delete-semester.ts |
software | healthy | scripts/delete-semester.ts |
nknu.ts |
software | healthy | scripts/scraper/nknu.ts |
period.ts |
software | healthy | scripts/scraper/period.ts |
rooms.ts |
software | healthy | scripts/scraper/rooms.ts |
crawl.ts |
software | healthy | scripts/scraper/crawl.ts |
terms.ts |
software | healthy | scripts/scraper/terms.ts |
upsert.ts |
software | healthy | scripts/scraper/upsert.ts |
0012_search.sql |
software | healthy | supabase/migrations/0012_search.sql |
0013_timetables.sql |
software | healthy | supabase/migrations/0013_timetables.sql |
0018_rls_domain_guard.sql |
software | healthy | supabase/migrations/0018_rls_domain_guard.sql |
0010_vote_counts.sql |
software | healthy | supabase/migrations/0010_vote_counts.sql |
0014_sitemap.sql |
software | healthy | supabase/migrations/0014_sitemap.sql |
0007_teacher_names.sql |
software | healthy | supabase/migrations/0007_teacher_names.sql |
0009_per_teacher_rating.sql |
software | healthy | supabase/migrations/0009_per_teacher_rating.sql |
0020_review_tags.sql |
software | healthy | supabase/migrations/0020_review_tags.sql |
0023_profile_avatar.sql |
software | healthy | supabase/migrations/0023_profile_avatar.sql |
0017_membership_arrays.sql |
software | healthy | supabase/migrations/0017_membership_arrays.sql |
0025_secure_rls_gaps.sql |
software | healthy | supabase/migrations/0025_secure_rls_gaps.sql |
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 |
integration |
software | healthy | tests/integration |
unit |
software | healthy | tests/unit |
stubs |
software | healthy | tests/stubs |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
scraper |
software | healthy | scripts/scraper |
supabase |
software | healthy | supabase |
migrations |
software | healthy | supabase/migrations |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
ai-elements |
software | healthy | src/components/ai-elements |
app |
software | healthy | src/app |
about |
software | healthy | src/app/about |
submit |
software | healthy | src/app/submit |
ai |
software | healthy | src/app/ai |
auth |
software | healthy | src/app/auth |
callback |
software | healthy | src/app/auth/callback |
timetable |
software | healthy | src/app/timetable |
api |
software | healthy | src/app/api |
ai |
software | healthy | src/app/api/ai |
chat |
software | healthy | src/app/api/ai/chat |
courses |
software | healthy | src/app/api/courses |
search |
software | healthy | src/app/api/courses/search |
guidelines |
software | healthy | src/app/guidelines |
leaderboard |
software | healthy | src/app/leaderboard |
me |
software | healthy | src/app/me |
teachers |
software | healthy | src/app/teachers |
teacher |
software | healthy | src/app/teacher |
[name] |
software | healthy | src/app/teacher/[name] |
courses |
software | healthy | src/app/courses |
privacy |
software | healthy | src/app/privacy |
course |
software | healthy | src/app/course |
[code] |
software | healthy | src/app/course/[code] |
lib |
software | healthy | src/lib |
supabase |
software | healthy | src/lib/supabase |
| Label | Layer | Status | Path |
|---|---|---|---|
0012_search.sql |
data | healthy | supabase/migrations/0012_search.sql |
0013_timetables.sql |
data | healthy | supabase/migrations/0013_timetables.sql |
0018_rls_domain_guard.sql |
data | healthy | supabase/migrations/0018_rls_domain_guard.sql |
0010_vote_counts.sql |
data | healthy | supabase/migrations/0010_vote_counts.sql |
0014_sitemap.sql |
data | healthy | supabase/migrations/0014_sitemap.sql |
0007_teacher_names.sql |
data | healthy | supabase/migrations/0007_teacher_names.sql |
0009_per_teacher_rating.sql |
data | healthy | supabase/migrations/0009_per_teacher_rating.sql |
0020_review_tags.sql |
data | healthy | supabase/migrations/0020_review_tags.sql |
0023_profile_avatar.sql |
data | healthy | supabase/migrations/0023_profile_avatar.sql |
0017_membership_arrays.sql |
data | healthy | supabase/migrations/0017_membership_arrays.sql |
0025_secure_rls_gaps.sql |
data | healthy | supabase/migrations/0025_secure_rls_gaps.sql |
0008_course_key.sql |
data | healthy | supabase/migrations/0008_course_key.sql |
0016_course_code_identity.sql |
data | healthy | supabase/migrations/0016_course_code_identity.sql |
0005_supabase_auth.sql |
data | healthy | supabase/migrations/0005_supabase_auth.sql |
0003_dimensions.sql |
data | healthy | supabase/migrations/0003_dimensions.sql |
0004_clerk_auth.sql |
data | healthy | supabase/migrations/0004_clerk_auth.sql |
0021_review_author_fk.sql |
data | healthy | supabase/migrations/0021_review_author_fk.sql |
0002_degree_level.sql |
data | healthy | supabase/migrations/0002_degree_level.sql |
0024_reference_table_rls.sql |
data | healthy | supabase/migrations/0024_reference_table_rls.sql |
0001_init.sql |
data | healthy | supabase/migrations/0001_init.sql |
0022_merge_short_comment.sql |
data | healthy | supabase/migrations/0022_merge_short_comment.sql |
0011_comment_display_name.sql |
data | healthy | supabase/migrations/0011_comment_display_name.sql |
0015_summary_zero_fix.sql |
data | healthy | supabase/migrations/0015_summary_zero_fix.sql |
0019_logical_course_key.sql |
data | healthy | supabase/migrations/0019_logical_course_key.sql |
0006_facets.sql |
data | healthy | supabase/migrations/0006_facets.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | src/app/page.tsx |
/about |
frontend | healthy | src/app/about/page.tsx |
/submit |
frontend | healthy | src/app/submit/page.tsx |
/ai |
frontend | healthy | src/app/ai/page.tsx |
/auth |
frontend | healthy | src/app/auth/page.tsx |
/timetable |
frontend | healthy | src/app/timetable/page.tsx |
/guidelines |
frontend | healthy | src/app/guidelines/page.tsx |
/leaderboard |
frontend | healthy | src/app/leaderboard/page.tsx |
/me |
frontend | healthy | src/app/me/page.tsx |
/teachers |
frontend | healthy | src/app/teachers/page.tsx |
/teacher/[name] |
frontend | healthy | src/app/teacher/[name]/page.tsx |
/courses |
frontend | healthy | src/app/courses/page.tsx |
/privacy |
frontend | healthy | src/app/privacy/page.tsx |
/course/[code] |
frontend | healthy | src/app/course/[code]/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
timetables |
data | healthy | supabase/migrations/0013_timetables.sql |
course_rating_summary |
data | healthy | supabase/migrations/0009_per_teacher_rating.sql |
rooms |
data | healthy | supabase/migrations/0003_dimensions.sql |
semesters |
data | healthy | supabase/migrations/0001_init.sql |
departments |
data | healthy | supabase/migrations/0001_init.sql |
teachers |
data | healthy | supabase/migrations/0001_init.sql |
courses |
data | healthy | supabase/migrations/0001_init.sql |
course_teachers |
data | healthy | supabase/migrations/0001_init.sql |
profiles |
data | healthy | supabase/migrations/0001_init.sql |
reviews |
data | healthy | supabase/migrations/0001_init.sql |
comments |
data | healthy | supabase/migrations/0001_init.sql |
votes |
data | healthy | supabase/migrations/0001_init.sql |
bookmarks |
data | healthy | supabase/migrations/0001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
NotFound |
frontend | healthy | src/app/not-found.tsx |
Template |
frontend | healthy | src/app/template.tsx |
RootLayout |
frontend | healthy | src/app/layout.tsx |
Error |
frontend | healthy | src/app/error.tsx |
AboutPage |
frontend | healthy | src/app/about/page.tsx |
AuthPage |
frontend | healthy | src/app/auth/page.tsx |
GuidelinesPage |
frontend | healthy | src/app/guidelines/page.tsx |
Loading |
frontend | healthy | src/app/leaderboard/loading.tsx |
Loading |
frontend | healthy | src/app/teachers/loading.tsx |
Loading |
frontend | healthy | src/app/courses/loading.tsx |
PrivacyPage |
frontend | healthy | src/app/privacy/page.tsx |
Loading |
frontend | healthy | src/app/course/[code]/loading.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
on |
software | healthy | tests/integration/ai-search.test.ts:on |
NknuClient |
software | healthy | scripts/scraper/nknu.ts:NknuClient |
list |
software | healthy | scripts/scraper/nknu.ts:list |
RoomClient |
software | healthy | scripts/scraper/rooms.ts:RoomClient |
and |
software | healthy | scripts/scraper/crawl.ts:and |
on |
software | healthy | src/lib/schedule-builder.ts:on |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::src/app/auth/callback/route.ts |
security | healthy | src/app/auth/callback/route.ts |
auth::tests/integration/rls.test.ts |
security | healthy | tests/integration/rls.test.ts |
auth::tests/helpers.ts |
security | healthy | tests/helpers.ts |
auth::README.md |
security | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
cicd | healthy | — |
SUPABASE_SERVICE_ROLE_KEY |
cicd | healthy | — |
POSTGRES_URL_NON_POOLING |
cicd | healthy | — |
POSTGRES_URL |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
1.2.3.4 |
network | healthy | tests/unit/batch.test.ts |
9.9.9.9 |
network | healthy | tests/unit/batch.test.ts |
5.6.7.8 |
network | healthy | tests/unit/batch.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | README.md |
redis |
data | healthy | src/lib/rate-limit.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:02 |
network | healthy | .github/workflows/crawl.yml |
port:30 |
network | healthy | .github/workflows/crawl.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::crawl |
cicd | healthy | .github/workflows/crawl.yml |
gha::migrate |
cicd | healthy | .github/workflows/migrate.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
crawl |
cicd | healthy | .github/workflows/crawl.yml |
migrate |
cicd | healthy | .github/workflows/migrate.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-0yyd5ywf |
software | healthy | /tmp/repobility-clone-0yyd5ywf |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | src/app/template.tsx |
This page is publicly accessible at:
https://repobility.com/scan/526c06e4-31f1-4cd1-8704-48b7cd358404/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/526c06e4-31f1-4cd1-8704-48b7cd358404/
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.