https://github.com/Tantdeboc1/aprende-chino
· scanned 2026-06-16 00:29 UTC (2 months, 2 weeks ago)
58 raw signals (0 security + 58 graph)
Last scanned 2 months, 2 weeks ago · v1 · 55 actionable findings from 1 signal source. 3 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 901 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 |
|---|---|---|---|
listFiles |
software | healthy | scripts/fix-fetch.mjs:listFiles |
rewriteFetch |
software | healthy | scripts/fix-fetch.mjs:rewriteFetch |
processFile |
software | healthy | scripts/fix-fetch.mjs:processFile |
main |
software | healthy | scripts/fix-fetch.mjs:main |
main |
software | healthy | scripts/convert-png-to-webp.mjs:main |
files |
software | healthy | scripts/convert-png-to-webp.mjs:files |
inSize |
software | healthy | scripts/convert-png-to-webp.mjs:inSize |
outSize |
software | healthy | scripts/convert-png-to-webp.mjs:outSize |
kbIn |
software | healthy | scripts/convert-png-to-webp.mjs:kbIn |
kbOut |
software | healthy | scripts/convert-png-to-webp.mjs:kbOut |
processDir |
software | healthy | scripts/convert-story-avatars.mjs:processDir |
before |
software | healthy | scripts/convert-story-avatars.mjs:before |
after |
software | healthy | scripts/convert-story-avatars.mjs:after |
pct |
software | healthy | scripts/convert-story-avatars.mjs:pct |
isMultilang |
software | healthy | scripts/split-i18n-data.mjs:isMultilang |
resolveLang |
software | healthy | scripts/split-i18n-data.mjs:resolveLang |
toJs |
software | healthy | scripts/split-i18n-data.mjs:toJs |
writeLangFiles |
software | healthy | scripts/split-i18n-data.mjs:writeLangFiles |
main |
software | healthy | scripts/split-i18n-data.mjs:main |
logoSvg |
software | healthy | scripts/generate-pwa-icons.mjs:logoSvg |
JFrame |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JFrame |
JSeal |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JSeal |
JChip |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JChip |
JStreak |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JStreak |
JLabel |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JLabel |
JTopBar |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JTopBar |
JMark |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JMark |
JBack |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JBack |
JNav |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JNav |
JScroll |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JScroll |
JBtn |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JBtn |
JStat |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JStat |
JCard |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JCard |
JSection |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JSection |
JToneCurve |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx:JToneCurve |
JRHome |
software | healthy | design_handoff_jade_pop_rojo/jr-home.jsx:JRHome |
JRPracticeCard |
software | healthy | design_handoff_jade_pop_rojo/jr-home.jsx:JRPracticeCard |
JRTones |
software | healthy | design_handoff_jade_pop_rojo/jr-practice.jsx:JRTones |
JRStrokes |
software | healthy | design_handoff_jade_pop_rojo/jr-practice.jsx:JRStrokes |
JRTranslate |
software | healthy | design_handoff_jade_pop_rojo/jr-practice.jsx:JRTranslate |
JRFlash |
software | healthy | design_handoff_jade_pop_rojo/jr-flash.jsx:JRFlash |
JRDiff |
software | healthy | design_handoff_jade_pop_rojo/jr-flash.jsx:JRDiff |
JRLessons |
software | healthy | design_handoff_jade_pop_rojo/jr-lessons.jsx:JRLessons |
JRLessonRow |
software | healthy | design_handoff_jade_pop_rojo/jr-lessons.jsx:JRLessonRow |
JRLessonDetail |
software | healthy | design_handoff_jade_pop_rojo/jr-lessons.jsx:JRLessonDetail |
JRCharTile |
software | healthy | design_handoff_jade_pop_rojo/jr-lessons.jsx:JRCharTile |
dcFlatten |
software | healthy | design_handoff_jade_pop_rojo/design-canvas.jsx:dcFlatten |
DesignCanvas |
software | healthy | design_handoff_jade_pop_rojo/design-canvas.jsx:DesignCanvas |
kept |
software | healthy | design_handoff_jade_pop_rojo/design-canvas.jsx:kept |
onKey |
software | healthy | design_handoff_jade_pop_rojo/design-canvas.jsx:onKey |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.js |
software | healthy | vite.config.js |
vercel.json |
software | healthy | vercel.json |
README.md |
software | healthy | README.md |
tailwind.config.js |
software | healthy | tailwind.config.js |
package.json |
software | healthy | package.json |
index.html |
software | healthy | index.html |
404.html |
software | healthy | 404.html |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
eslint.config.js |
software | healthy | eslint.config.js |
story-mode-plan.md |
software | healthy | story-mode-plan.md |
postcss.config.js |
software | healthy | postcss.config.js |
fix-fetch.mjs |
software | healthy | scripts/fix-fetch.mjs |
convert-png-to-webp.mjs |
software | healthy | scripts/convert-png-to-webp.mjs |
convert-story-avatars.mjs |
software | healthy | scripts/convert-story-avatars.mjs |
split-i18n-data.mjs |
software | healthy | scripts/split-i18n-data.mjs |
generate-pwa-icons.mjs |
software | healthy | scripts/generate-pwa-icons.mjs |
react-component-analysis.md |
software | healthy | .continue/rules/react-component-analysis.md |
README.md |
software | healthy | design_handoff_jade_pop_rojo/README.md |
jr-shell.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-shell.jsx |
jr-home.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-home.jsx |
Jade Pop Rojo - App.html |
software | healthy | design_handoff_jade_pop_rojo/Jade Pop Rojo - App.html |
jr-practice.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-practice.jsx |
jr-flash.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-flash.jsx |
jr-lessons.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-lessons.jsx |
design-canvas.jsx |
software | healthy | design_handoff_jade_pop_rojo/design-canvas.jsx |
jr-dict-profile.jsx |
software | healthy | design_handoff_jade_pop_rojo/jr-dict-profile.jsx |
deploy-pages.yml |
software | healthy | .github/workflows/deploy-pages.yml |
index.css |
software | healthy | src/index.css |
App.jsx |
software | healthy | src/App.jsx |
i18n.js |
software | healthy | src/i18n.js |
main.jsx |
software | healthy | src/main.jsx |
gameAudio.js |
software | healthy | src/utils/gameAudio.js |
storyProgress.js |
software | healthy | src/utils/storyProgress.js |
streak.js |
software | healthy | src/utils/streak.js |
lessonFilter.js |
software | healthy | src/utils/lessonFilter.js |
srs.js |
software | healthy | src/utils/srs.js |
loadContent.js |
software | healthy | src/utils/loadContent.js |
progress.js |
software | healthy | src/utils/progress.js |
haptic.js |
software | healthy | src/utils/haptic.js |
pronunciationScore.js |
software | healthy | src/utils/pronunciationScore.js |
tts-enhanced.js |
software | healthy | src/utils/tts-enhanced.js |
i18nContent.js |
software | healthy | src/utils/i18nContent.js |
arrayUtils.js |
software | healthy | src/utils/arrayUtils.js |
speechRecognition.js |
software | healthy | src/utils/speechRecognition.js |
badges.js |
software | healthy | src/utils/badges.js |
audio.js |
software | healthy | src/utils/audio.js |
dataCache.js |
software | healthy | src/utils/dataCache.js |
version.js |
software | healthy | src/utils/version.js |
gameIntroPrefs.js |
software | healthy | src/utils/gameIntroPrefs.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.jsx |
SettingsScreen |
frontend | healthy | src/components/SettingsScreen.jsx |
LessonDetail |
frontend | healthy | src/components/LessonDetail.jsx |
ReviewSession |
frontend | healthy | src/components/ReviewSession.jsx |
LevelUpHost |
frontend | healthy | src/components/LevelUpHost.jsx |
MiniGames |
frontend | healthy | src/components/MiniGames.jsx |
Menu |
frontend | healthy | src/components/menu.jsx |
ExamMode |
frontend | healthy | src/components/ExamMode.jsx |
LevelUpModal |
frontend | healthy | src/components/LevelUpModal.jsx |
GrammarTab |
frontend | healthy | src/components/GrammarTab.jsx |
GlobalExam |
frontend | healthy | src/components/GlobalExam.jsx |
SplashScreen |
frontend | healthy | src/components/SplashScreen.jsx |
ProfileScreen |
frontend | healthy | src/components/ProfileScreen.jsx |
WelcomeFlow |
frontend | healthy | src/components/WelcomeFlow.jsx |
Dictionary |
frontend | healthy | src/components/Dictionary.jsx |
CulturalTab |
frontend | healthy | src/components/CulturalTab.jsx |
AchievementToast |
frontend | healthy | src/components/AchievementToast.jsx |
HomeScreen |
frontend | healthy | src/components/HomeScreen.jsx |
LoginScreen |
frontend | healthy | src/components/LoginScreen.jsx |
TonesDaily |
frontend | healthy | src/components/daily/TonesDaily.jsx |
RadicalsDaily |
frontend | healthy | src/components/daily/RadicalsDaily.jsx |
Daily |
frontend | healthy | src/components/daily/CharactersDaily.jsx |
DailyIndex |
frontend | healthy | src/components/daily/DailyIndex.jsx |
Cuisine |
frontend | healthy | src/components/info/Cuisine.jsx |
Geography |
frontend | healthy | src/components/info/Geography.jsx |
Philosophy |
frontend | healthy | src/components/info/Philosophy.jsx |
MusicCinema |
frontend | healthy | src/components/info/MusicCinema.jsx |
History |
frontend | healthy | src/components/info/History.jsx |
InfoIndex |
frontend | healthy | src/components/info/index.jsx |
Traditions |
frontend | healthy | src/components/info/Traditions.jsx |
Education |
frontend | healthy | src/components/info/Education.jsx |
HSK |
frontend | healthy | src/components/info/HSK.jsx |
LanguageFacts |
frontend | healthy | src/components/info/LanguageFacts.jsx |
ModernChina |
frontend | healthy | src/components/info/ModernChina.jsx |
LearnMenu |
frontend | healthy | src/components/learn/LearnMenu.jsx |
WritingMenu |
frontend | healthy | src/components/learn/Writing/index.jsx |
RadicalsWriting |
frontend | healthy | src/components/learn/Writing/RadicalsWriting.jsx |
HanziWriting |
frontend | healthy | src/components/learn/Writing/HanziWriting.jsx |
CharactersIndex |
frontend | healthy | src/components/learn/Characters/index.jsx |
Progressive |
frontend | healthy | src/components/learn/Characters/Progressive.jsx |
Quiz |
frontend | healthy | src/components/learn/Characters/Quiz.jsx |
Matching |
frontend | healthy | src/components/learn/Characters/Matching.jsx |
RadicalsQuiz2 |
frontend | healthy | src/components/learn/Radicals/RadicalsQuiz2.jsx |
RadicalsQuiz |
frontend | healthy | src/components/learn/Radicals/RadicalsQuiz.jsx |
RadicalsIndex |
frontend | healthy | src/components/learn/Radicals/index.jsx |
RadicalsTheory |
frontend | healthy | src/components/learn/Radicals/RadicalsTheory.jsx |
QuizPronunciation |
frontend | healthy | src/components/learn/Tones/QuizPronunciation.jsx |
Vowels |
frontend | healthy | src/components/learn/Tones/Vowels.jsx |
TonesIndex |
frontend | healthy | src/components/learn/Tones/index.jsx |
Consonants |
frontend | healthy | src/components/learn/Tones/Consonants.jsx |
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 |
.continue |
software | healthy | .continue |
rules |
software | healthy | .continue/rules |
design_handoff_jade_pop_rojo |
software | healthy | design_handoff_jade_pop_rojo |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
utils |
software | healthy | src/utils |
components |
software | healthy | src/components |
daily |
software | healthy | src/components/daily |
info |
software | healthy | src/components/info |
learn |
software | healthy | src/components/learn |
Writing |
software | healthy | src/components/learn/Writing |
Characters |
software | healthy | src/components/learn/Characters |
Radicals |
software | healthy | src/components/learn/Radicals |
Tones |
software | healthy | src/components/learn/Tones |
ui |
software | healthy | src/components/ui |
jade |
software | healthy | src/components/jade |
stories |
software | healthy | src/components/stories |
minigames |
software | healthy | src/components/minigames |
lib |
software | healthy | src/lib |
locales |
software | healthy | src/locales |
hooks |
software | healthy | src/hooks |
context |
software | healthy | src/context |
styles |
software | healthy | src/styles |
| Label | Layer | Status | Path |
|---|---|---|---|
AudioCompressor |
software | healthy | src/utils/audio.js:AudioCompressor |
ErrorBoundary |
software | healthy | src/components/ErrorBoundary.jsx:ErrorBoundary |
tomorrow |
software | healthy | src/locales/en.js:tomorrow |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/deploy-pages.yml |
deploy |
cicd | healthy | .github/workflows/deploy-pages.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-gyhlllz0 |
software | healthy | /tmp/repobility-clone-gyhlllz0 |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/lib/firebase.js |
security | healthy | src/lib/firebase.js |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::deploy-pages |
cicd | healthy | .github/workflows/deploy-pages.yml |
This page is publicly accessible at:
https://repobility.com/scan/01dbdaf4-c8d8-4c5b-b403-768533e7ae1a/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/01dbdaf4-c8d8-4c5b-b403-768533e7ae1a/
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.