https://github.com/Congtrinh097/english-voca
· scanned 2026-06-17 01:24 UTC (1 month, 2 weeks ago)
25 raw signals (0 security + 25 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ +4.1 (diff) · 23 actionable findings from 1 signal source. 2 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 347 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 |
|---|---|---|---|
AppleIcon |
software | healthy | app/apple-icon.tsx:AppleIcon |
RootLayout |
software | healthy | app/layout.tsx:RootLayout |
manifest |
software | healthy | app/manifest.ts:manifest |
GoogleIcon |
software | healthy | app/login/page.tsx:GoogleIcon |
LoginForm |
software | healthy | app/login/page.tsx:LoginForm |
handleSubmit |
software | healthy | app/login/page.tsx:handleSubmit |
LoginPage |
software | healthy | app/login/page.tsx:LoginPage |
GET |
software | healthy | app/api/user/topics/route.ts:GET |
PATCH |
software | healthy | app/api/user/topics/[id]/words/[wid]/route.ts:PATCH |
POST |
software | healthy | app/api/user/topics/[id]/start/route.ts:POST |
GET |
software | healthy | app/api/user/topics/[id]/quiz-result/route.ts:GET |
POST |
software | healthy | app/api/user/topics/[id]/flashcard-complete/route.ts:POST |
GET |
software | healthy | app/api/user/topics/[id]/quiz/route.ts:GET |
POST |
software | healthy | app/api/user/topics/[id]/quiz/route.ts:POST |
GET |
software | healthy | app/api/auth/verify-email/[token]/route.ts:GET |
POST |
software | healthy | app/api/auth/link-google/route.ts:POST |
GET |
software | healthy | app/api/auth/me/route.ts:GET |
POST |
software | healthy | app/api/auth/register/route.ts:POST |
POST |
software | healthy | app/api/auth/reset-password/route.ts:POST |
POST |
software | healthy | app/api/auth/forgot-password/route.ts:POST |
GET |
software | healthy | app/api/leaderboard/route.ts:GET |
GET |
software | healthy | app/api/leaderboard/me/route.ts:GET |
GET |
software | healthy | app/api/topics/route.ts:GET |
POST |
software | healthy | app/api/topics/route.ts:POST |
GET |
software | healthy | app/api/topics/[id]/route.ts:GET |
PUT |
software | healthy | app/api/topics/[id]/route.ts:PUT |
DELETE |
software | healthy | app/api/topics/[id]/route.ts:DELETE |
GET |
software | healthy | app/api/topics/[id]/words/route.ts:GET |
POST |
software | healthy | app/api/topics/[id]/words/route.ts:POST |
PUT |
software | healthy | app/api/topics/[id]/words/[wid]/route.ts:PUT |
DELETE |
software | healthy | app/api/topics/[id]/words/[wid]/route.ts:DELETE |
parseCsvLine |
software | healthy | app/api/topics/[id]/words/bulk/route.ts:parseCsvLine |
POST |
software | healthy | app/api/topics/[id]/words/bulk/route.ts:POST |
col |
software | healthy | app/api/topics/[id]/words/bulk/route.ts:col |
nextOrder |
software | healthy | app/api/topics/[id]/words/bulk/route.ts:nextOrder |
PATCH |
software | healthy | app/api/topics/[id]/publish/route.ts:PATCH |
GET |
software | healthy | app/api/topics/suggested/route.ts:GET |
studiedTopicIds |
software | healthy | app/api/topics/suggested/route.ts:studiedTopicIds |
AdminLayout |
software | healthy | app/admin/layout.tsx:AdminLayout |
AdminDashboard |
software | healthy | app/admin/page.tsx:AdminDashboard |
AdminTopicsPage |
software | healthy | app/admin/topics/page.tsx:AdminTopicsPage |
save |
software | healthy | app/admin/topics/page.tsx:save |
togglePublish |
software | healthy | app/admin/topics/page.tsx:togglePublish |
remove |
software | healthy | app/admin/topics/page.tsx:remove |
AdminWordsPage |
software | healthy | app/admin/topics/[id]/words/page.tsx:AdminWordsPage |
save |
software | healthy | app/admin/topics/[id]/words/page.tsx:save |
remove |
software | healthy | app/admin/topics/[id]/words/page.tsx:remove |
importCsv |
software | healthy | app/admin/topics/[id]/words/page.tsx:importCsv |
MainLayout |
software | healthy | app/(main)/layout.tsx:MainLayout |
HomePage |
software | healthy | app/(main)/page.tsx:HomePage |
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 |
next.config.mjs |
software | healthy | next.config.mjs |
package-lock.json |
software | healthy | package-lock.json |
README.md |
software | healthy | README.md |
middleware.ts |
software | healthy | middleware.ts |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
docker-compose.yml |
software | healthy | docker-compose.yml |
package.json |
software | healthy | package.json |
Dockerfile |
software | healthy | Dockerfile |
tsconfig.json |
software | healthy | tsconfig.json |
apple-icon.tsx |
software | healthy | app/apple-icon.tsx |
globals.css |
software | healthy | app/globals.css |
layout.tsx |
software | healthy | app/layout.tsx |
manifest.ts |
software | healthy | app/manifest.ts |
page.tsx |
software | healthy | app/login/page.tsx |
route.ts |
software | healthy | app/api/user/topics/route.ts |
route.ts |
software | healthy | app/api/user/topics/[id]/words/[wid]/route.ts |
route.ts |
software | healthy | app/api/user/topics/[id]/start/route.ts |
route.ts |
software | healthy | app/api/user/topics/[id]/quiz-result/route.ts |
route.ts |
software | healthy | app/api/user/topics/[id]/flashcard-complete/route.ts |
route.ts |
software | healthy | app/api/user/topics/[id]/quiz/route.ts |
route.ts |
software | healthy | app/api/auth/verify-email/[token]/route.ts |
route.ts |
software | healthy | app/api/auth/link-google/route.ts |
route.ts |
software | healthy | app/api/auth/me/route.ts |
route.ts |
software | healthy | app/api/auth/register/route.ts |
route.ts |
software | healthy | app/api/auth/reset-password/route.ts |
route.ts |
software | healthy | app/api/auth/[...nextauth]/route.ts |
route.ts |
software | healthy | app/api/auth/forgot-password/route.ts |
route.ts |
software | healthy | app/api/leaderboard/route.ts |
route.ts |
software | healthy | app/api/leaderboard/me/route.ts |
route.ts |
software | healthy | app/api/topics/route.ts |
route.ts |
software | healthy | app/api/topics/[id]/route.ts |
route.ts |
software | healthy | app/api/topics/[id]/words/route.ts |
route.ts |
software | healthy | app/api/topics/[id]/words/[wid]/route.ts |
route.ts |
software | healthy | app/api/topics/[id]/words/bulk/route.ts |
route.ts |
software | healthy | app/api/topics/[id]/publish/route.ts |
route.ts |
software | healthy | app/api/topics/suggested/route.ts |
layout.tsx |
software | healthy | app/admin/layout.tsx |
page.tsx |
software | healthy | app/admin/page.tsx |
page.tsx |
software | healthy | app/admin/topics/page.tsx |
page.tsx |
software | healthy | app/admin/topics/[id]/words/page.tsx |
layout.tsx |
software | healthy | app/(main)/layout.tsx |
page.tsx |
software | healthy | app/(main)/page.tsx |
page.tsx |
software | healthy | app/(main)/my-list/page.tsx |
page.tsx |
software | healthy | app/(main)/profile/page.tsx |
page.tsx |
software | healthy | app/(main)/leaderboard/page.tsx |
route.tsx |
software | healthy | app/pwa-icon/[size]/route.tsx |
page.tsx |
software | healthy | app/register/page.tsx |
page.tsx |
software | healthy | app/reset-password/page.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
app |
software | healthy | app |
login |
software | healthy | app/login |
api |
software | healthy | app/api |
user |
software | healthy | app/api/user |
topics |
software | healthy | app/api/user/topics |
[id] |
software | healthy | app/api/user/topics/[id] |
words |
software | healthy | app/api/user/topics/[id]/words |
[wid] |
software | healthy | app/api/user/topics/[id]/words/[wid] |
start |
software | healthy | app/api/user/topics/[id]/start |
quiz-result |
software | healthy | app/api/user/topics/[id]/quiz-result |
flashcard-complete |
software | healthy | app/api/user/topics/[id]/flashcard-complete |
quiz |
software | healthy | app/api/user/topics/[id]/quiz |
auth |
software | healthy | app/api/auth |
verify-email |
software | healthy | app/api/auth/verify-email |
[token] |
software | healthy | app/api/auth/verify-email/[token] |
link-google |
software | healthy | app/api/auth/link-google |
me |
software | healthy | app/api/auth/me |
register |
software | healthy | app/api/auth/register |
reset-password |
software | healthy | app/api/auth/reset-password |
[...nextauth] |
software | healthy | app/api/auth/[...nextauth] |
forgot-password |
software | healthy | app/api/auth/forgot-password |
leaderboard |
software | healthy | app/api/leaderboard |
me |
software | healthy | app/api/leaderboard/me |
topics |
software | healthy | app/api/topics |
[id] |
software | healthy | app/api/topics/[id] |
words |
software | healthy | app/api/topics/[id]/words |
[wid] |
software | healthy | app/api/topics/[id]/words/[wid] |
bulk |
software | healthy | app/api/topics/[id]/words/bulk |
publish |
software | healthy | app/api/topics/[id]/publish |
suggested |
software | healthy | app/api/topics/suggested |
admin |
software | healthy | app/admin |
topics |
software | healthy | app/admin/topics |
[id] |
software | healthy | app/admin/topics/[id] |
words |
software | healthy | app/admin/topics/[id]/words |
(main) |
software | healthy | app/(main) |
my-list |
software | healthy | app/(main)/my-list |
profile |
software | healthy | app/(main)/profile |
leaderboard |
software | healthy | app/(main)/leaderboard |
pwa-icon |
software | healthy | app/pwa-icon |
[size] |
software | healthy | app/pwa-icon/[size] |
register |
software | healthy | app/register |
reset-password |
software | healthy | app/reset-password |
welcome |
software | healthy | app/welcome |
privacy |
software | healthy | app/privacy |
topics |
software | healthy | app/topics |
[id] |
software | healthy | app/topics/[id] |
learn |
software | healthy | app/topics/[id]/learn |
quiz |
software | healthy | app/topics/[id]/quiz |
result |
software | healthy | app/topics/[id]/quiz/result |
terms |
software | healthy | app/terms |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
AppleIcon |
frontend | healthy | app/apple-icon.tsx |
RootLayout |
frontend | healthy | app/layout.tsx |
LoginPage |
frontend | healthy | app/login/page.tsx |
AdminLayout |
frontend | healthy | app/admin/layout.tsx |
AdminTopicsPage |
frontend | healthy | app/admin/topics/page.tsx |
AdminWordsPage |
frontend | healthy | app/admin/topics/[id]/words/page.tsx |
HomePage |
frontend | healthy | app/(main)/page.tsx |
MyListPage |
frontend | healthy | app/(main)/my-list/page.tsx |
ProfilePage |
frontend | healthy | app/(main)/profile/page.tsx |
LeaderboardPage |
frontend | healthy | app/(main)/leaderboard/page.tsx |
RegisterPage |
frontend | healthy | app/register/page.tsx |
ResetPasswordPage |
frontend | healthy | app/reset-password/page.tsx |
WelcomePage |
frontend | healthy | app/welcome/page.tsx |
PrivacyPage |
frontend | healthy | app/privacy/page.tsx |
TopicDetailPage |
frontend | healthy | app/topics/[id]/page.tsx |
LearnPage |
frontend | healthy | app/topics/[id]/learn/page.tsx |
QuizPage |
frontend | healthy | app/topics/[id]/quiz/page.tsx |
QuizResultPage |
frontend | healthy | app/topics/[id]/quiz/result/page.tsx |
TermsPage |
frontend | healthy | app/terms/page.tsx |
ForgotPasswordPage |
frontend | healthy | app/forgot-password/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::types/next-auth.d.ts |
security | healthy | types/next-auth.d.ts |
auth::README.md |
security | healthy | README.md |
auth::package.json |
security | healthy | package.json |
auth::.env.example |
security | healthy | .env.example |
auth::app/(main)/profile/page.tsx |
security | healthy | app/(main)/profile/page.tsx |
auth::prisma/seed-data.ts |
security | healthy | prisma/seed-data.ts |
auth::lib/api-helpers.ts |
security | healthy | lib/api-helpers.ts |
auth::app/register/page.tsx |
security | healthy | app/register/page.tsx |
auth::lib/auth.ts |
security | healthy | lib/auth.ts |
auth::deploy/README.md |
security | healthy | deploy/README.md |
auth::lib/auth.config.ts |
security | healthy | lib/auth.config.ts |
auth::components/Navbar.tsx |
security | healthy | components/Navbar.tsx |
auth::app/login/page.tsx |
security | healthy | app/login/page.tsx |
auth::middleware.ts |
security | healthy | middleware.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
DATABASE_URL |
cicd | healthy | — |
GCP_PROJECT_ID |
cicd | healthy | — |
SMTP_PASS |
cicd | healthy | — |
GCP_REGION |
cicd | healthy | — |
SMTP_USER |
cicd | healthy | — |
GCP_SA_KEY |
cicd | healthy | — |
GOOGLE_CLIENT_ID |
cicd | healthy | — |
GOOGLE_CLIENT_SECRET |
cicd | healthy | — |
NEXTAUTH_URL |
cicd | healthy | — |
SMTP_PORT |
cicd | healthy | — |
SMTP_HOST |
cicd | healthy | — |
EMAIL_FROM |
cicd | healthy | — |
NEXTAUTH_SECRET |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
users |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
password_reset_tokens |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
topics |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
words |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
user_topics |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
quiz_results |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
redis |
data | healthy | README.md |
postgres |
data | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
migration.sql |
data | healthy | prisma/migrations/20260611151955_add_flashcard_bonus/migrat… |
migration.sql |
data | healthy | prisma/migrations/20260610145526_init/migration.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5432 |
network | healthy | docker-compose.yml |
port:3000 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
db |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | deploy/README.md |
vps::gcp |
hardware | healthy | deploy/README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
Congtrinh097__english-voca |
software | healthy | /data/fable5_failed_archive/Congtrinh097__english-voca |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::deploy |
cicd | healthy | .github/workflows/deploy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
deploy |
cicd | healthy | .github/workflows/deploy.yml |
This page is publicly accessible at:
https://repobility.com/scan/3c00dbdb-c65a-45d1-9b74-c47363d2dc7e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3c00dbdb-c65a-45d1-9b74-c47363d2dc7e/
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.