https://github.com/tutoria-chat/tutoria-ui
· scanned 2026-06-16 00:43 UTC (2 months, 1 week ago)
112 raw signals (0 security + 112 graph)
Last scanned 2 months, 1 week ago · v1 · 105 actionable findings from 1 signal source. 7 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 994 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 |
|---|---|---|---|
middleware |
software | healthy | middleware.ts:middleware |
Sidebar |
software | healthy | components/layout/sidebar.tsx:Sidebar |
handler |
software | healthy | components/layout/sidebar.tsx:handler |
isActive |
software | healthy | components/layout/sidebar.tsx:isActive |
shouldShowItem |
software | healthy | components/layout/sidebar.tsx:shouldShowItem |
handleItemClick |
software | healthy | components/layout/sidebar.tsx:handleItemClick |
renderNavItem |
software | healthy | components/layout/sidebar.tsx:renderNavItem |
button |
software | healthy | components/layout/sidebar.tsx:button |
UniversitySwitcher |
software | healthy | components/layout/university-switcher.tsx:UniversitySwitcher |
handleClickOutside |
software | healthy | components/layout/university-switcher.tsx:handleClickOutside |
handleEscape |
software | healthy | components/layout/university-switcher.tsx:handleEscape |
handleSwitch |
software | healthy | components/layout/university-switcher.tsx:handleSwitch |
Header |
software | healthy | components/layout/header.tsx:Header |
handleLogout |
software | healthy | components/layout/header.tsx:handleLogout |
handleSettingsClick |
software | healthy | components/layout/header.tsx:handleSettingsClick |
UserSettingsModal |
software | healthy | components/layout/user-settings-modal.tsx:UserSettingsModal |
handleProfileUpdate |
software | healthy | components/layout/user-settings-modal.tsx:handleProfileUpda… |
handlePreferencesSave |
software | healthy | components/layout/user-settings-modal.tsx:handlePreferences… |
DashboardLayoutWrapper |
software | healthy | components/layout/dashboard-layout-wrapper.tsx:DashboardLay… |
toggleSidebar |
software | healthy | components/layout/dashboard-layout-wrapper.tsx:toggleSidebar |
closeSidebar |
software | healthy | components/layout/dashboard-layout-wrapper.tsx:closeSidebar |
toggleCollapse |
software | healthy | components/layout/dashboard-layout-wrapper.tsx:toggleCollap… |
Breadcrumbs |
software | healthy | components/layout/breadcrumbs.tsx:Breadcrumbs |
useBreadcrumbs |
software | healthy | components/layout/breadcrumbs.tsx:useBreadcrumbs |
PageHeader |
software | healthy | components/layout/page-header.tsx:PageHeader |
ProtectedRoute |
software | healthy | components/auth/protected-route.tsx:ProtectedRoute |
LoginForm |
software | healthy | components/auth/login-form.tsx:LoginForm |
handleSubmit |
software | healthy | components/auth/login-form.tsx:handleSubmit |
AuthProvider |
software | healthy | components/auth/auth-provider.tsx:AuthProvider |
initializeAuth |
software | healthy | components/auth/auth-provider.tsx:initializeAuth |
login |
software | healthy | components/auth/auth-provider.tsx:login |
logout |
software | healthy | components/auth/auth-provider.tsx:logout |
hasPermission |
software | healthy | components/auth/auth-provider.tsx:hasPermission |
changePassword |
software | healthy | components/auth/auth-provider.tsx:changePassword |
switchUniversity |
software | healthy | components/auth/auth-provider.tsx:switchUniversity |
useAuth |
software | healthy | components/auth/auth-provider.tsx:useAuth |
RoleGuard |
software | healthy | components/auth/role-guard.tsx:RoleGuard |
SuperAdminOnly |
software | healthy | components/auth/role-guard.tsx:SuperAdminOnly |
AdminOnly |
software | healthy | components/auth/role-guard.tsx:AdminOnly |
AdminProfessorOnly |
software | healthy | components/auth/role-guard.tsx:AdminProfessorOnly |
ProfessorOnly |
software | healthy | components/auth/role-guard.tsx:ProfessorOnly |
rateColor |
software | healthy | components/analytics/critical-concepts.tsx:rateColor |
CriticalConcepts |
software | healthy | components/analytics/critical-concepts.tsx:CriticalConcepts |
TopicTooltip |
software | healthy | components/analytics/top-topics-chart.tsx:TopicTooltip |
TopTopicsChart |
software | healthy | components/analytics/top-topics-chart.tsx:TopTopicsChart |
StatsCard |
software | healthy | components/analytics/stats-card.tsx:StatsCard |
ModuleTooltip |
software | healthy | components/analytics/questions-per-module-chart.tsx:ModuleT… |
QuestionsPerModuleChart |
software | healthy | components/analytics/questions-per-module-chart.tsx:Questio… |
getColor |
software | healthy | components/analytics/quiz-heatmap.tsx:getColor |
QuizHeatmap |
software | healthy | components/analytics/quiz-heatmap.tsx:QuizHeatmap |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
postcss.config.mjs |
software | healthy | postcss.config.mjs |
USERS_TABLE_MIGRATION.md |
software | healthy | USERS_TABLE_MIGRATION.md |
README.old.md |
software | healthy | README.old.md |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
API_MIGRATION.md |
software | healthy | API_MIGRATION.md |
package.json |
software | healthy | package.json |
missing-translations-report.json |
software | healthy | missing-translations-report.json |
tutorial-content-pt-br.json |
software | healthy | tutorial-content-pt-br.json |
BACKEND_ANALYSIS.md |
software | healthy | BACKEND_ANALYSIS.md |
package-lock.json |
software | healthy | package-lock.json |
components.json |
software | healthy | components.json |
middleware.ts |
software | healthy | middleware.ts |
TRANSLATION_GAPS_REPORT.md |
software | healthy | TRANSLATION_GAPS_REPORT.md |
TODOS.md |
software | healthy | TODOS.md |
tsconfig.json |
software | healthy | tsconfig.json |
eslint.config.mjs |
software | healthy | eslint.config.mjs |
IMPLEMENTATION_SUMMARY.md |
software | healthy | IMPLEMENTATION_SUMMARY.md |
next.config.ts |
software | healthy | next.config.ts |
config.ts |
software | healthy | i18n/config.ts |
request.ts |
software | healthy | i18n/request.ts |
pt-br.json |
software | healthy | i18n/messages/pt-br.json |
en.json |
software | healthy | i18n/messages/en.json |
es.json |
software | healthy | i18n/messages/es.json |
tutoria.md |
software | healthy | downloads/tutoria.md |
api_docs.json |
software | healthy | downloads/api_docs.json |
sidebar.tsx |
software | healthy | components/layout/sidebar.tsx |
university-switcher.tsx |
software | healthy | components/layout/university-switcher.tsx |
header.tsx |
software | healthy | components/layout/header.tsx |
user-settings-modal.tsx |
software | healthy | components/layout/user-settings-modal.tsx |
dashboard-layout-wrapper.tsx |
software | healthy | components/layout/dashboard-layout-wrapper.tsx |
breadcrumbs.tsx |
software | healthy | components/layout/breadcrumbs.tsx |
page-header.tsx |
software | healthy | components/layout/page-header.tsx |
protected-route.tsx |
software | healthy | components/auth/protected-route.tsx |
login-form.tsx |
software | healthy | components/auth/login-form.tsx |
auth-provider.tsx |
software | healthy | components/auth/auth-provider.tsx |
role-guard.tsx |
software | healthy | components/auth/role-guard.tsx |
critical-concepts.tsx |
software | healthy | components/analytics/critical-concepts.tsx |
top-topics-chart.tsx |
software | healthy | components/analytics/top-topics-chart.tsx |
stats-card.tsx |
software | healthy | components/analytics/stats-card.tsx |
questions-per-module-chart.tsx |
software | healthy | components/analytics/questions-per-module-chart.tsx |
quiz-heatmap.tsx |
software | healthy | components/analytics/quiz-heatmap.tsx |
quiz-radar-chart.tsx |
software | healthy | components/analytics/quiz-radar-chart.tsx |
data-table.tsx |
software | healthy | components/shared/data-table.tsx |
table.tsx |
software | healthy | components/ui/table.tsx |
calendar.tsx |
software | healthy | components/ui/calendar.tsx |
date-range-picker.tsx |
software | healthy | components/ui/date-range-picker.tsx |
language-toggle.tsx |
software | healthy | components/ui/language-toggle.tsx |
toaster.tsx |
software | healthy | components/ui/toaster.tsx |
checkbox.tsx |
software | healthy | components/ui/checkbox.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
i18n |
software | healthy | i18n |
messages |
software | healthy | i18n/messages |
downloads |
software | healthy | downloads |
components |
software | healthy | components |
layout |
software | healthy | components/layout |
auth |
software | healthy | components/auth |
analytics |
software | healthy | components/analytics |
shared |
software | healthy | components/shared |
ui |
software | healthy | components/ui |
providers |
software | healthy | components/providers |
modules |
software | healthy | components/modules |
universities |
software | healthy | components/universities |
tokens |
software | healthy | components/tokens |
examples |
software | healthy | components/examples |
courses |
software | healthy | components/courses |
forms |
software | healthy | components/forms |
app |
software | healthy | app |
setup-password |
software | healthy | app/setup-password |
api |
software | healthy | app/api |
auth |
software | healthy | app/api/auth |
login |
software | healthy | app/api/auth/login |
(dashboard) |
software | healthy | app/(dashboard) |
users |
software | healthy | app/(dashboard)/users |
[id] |
software | healthy | app/(dashboard)/users/[id] |
create |
software | healthy | app/(dashboard)/users/create |
professors |
software | healthy | app/(dashboard)/professors |
[id] |
software | healthy | app/(dashboard)/professors/[id] |
edit |
software | healthy | app/(dashboard)/professors/[id]/edit |
create |
software | healthy | app/(dashboard)/professors/create |
create-admin |
software | healthy | app/(dashboard)/professors/create-admin |
models |
software | healthy | app/(dashboard)/models |
analytics |
software | healthy | app/(dashboard)/analytics |
subscription |
software | healthy | app/(dashboard)/subscription |
dashboard |
software | healthy | app/(dashboard)/dashboard |
students |
software | healthy | app/(dashboard)/students |
[id] |
software | healthy | app/(dashboard)/students/[id] |
edit |
software | healthy | app/(dashboard)/students/[id]/edit |
admin |
software | healthy | app/(dashboard)/admin |
super-admins |
software | healthy | app/(dashboard)/admin/super-admins |
[id] |
software | healthy | app/(dashboard)/admin/super-admins/[id] |
edit |
software | healthy | app/(dashboard)/admin/super-admins/[id]/edit |
create |
software | healthy | app/(dashboard)/admin/super-admins/create |
system-stats |
software | healthy | app/(dashboard)/admin/system-stats |
permissions |
software | healthy | app/(dashboard)/admin/permissions |
subscriptions |
software | healthy | app/(dashboard)/admin/subscriptions |
plans |
software | healthy | app/(dashboard)/admin/plans |
modules |
software | healthy | app/(dashboard)/modules |
[id] |
software | healthy | app/(dashboard)/modules/[id] |
edit |
software | healthy | app/(dashboard)/modules/[id]/edit |
create |
software | healthy | app/(dashboard)/modules/create |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST /api/auth/password-reset-request |
api | healthy | lib/api.ts |
POST /api/auth/password-reset |
api | healthy | lib/api.ts |
PUT /api/auth/me/password |
api | healthy | lib/api.ts |
GET /api/auth/me |
api | healthy | lib/api.ts |
PUT /api/auth/me |
api | healthy | lib/api.ts |
GET /api/universities/ |
api | healthy | lib/api.ts |
POST /api/universities/ |
api | healthy | lib/api.ts |
GET /api/courses/ |
api | healthy | lib/api.ts |
POST /api/courses/ |
api | healthy | lib/api.ts |
GET /api/modules/ |
api | healthy | lib/api.ts |
POST /api/modules/ |
api | healthy | lib/api.ts |
POST /api/quiz-upload-jobs |
api | healthy | lib/api.ts |
GET /api/assignments |
api | healthy | lib/api.ts |
POST /api/assignments |
api | healthy | lib/api.ts |
GET /api/grading-jobs |
api | healthy | lib/api.ts |
POST /api/grading-jobs |
api | healthy | lib/api.ts |
GET /api/quiz-upload-jobs |
api | healthy | lib/api.ts |
GET /api/ai-models/ |
api | healthy | lib/api.ts |
POST /api/ai-models/ |
api | healthy | lib/api.ts |
GET /api/files/ |
api | healthy | lib/api.ts |
POST /api/files |
api | healthy | lib/api.ts |
POST /api/videos/youtube |
api | healthy | lib/api.ts |
GET /api/students/ |
api | healthy | lib/api.ts |
POST /api/students/ |
api | healthy | lib/api.ts |
POST /api/students/import |
api | healthy | lib/api.ts |
POST /api/students/mass-unenroll |
api | healthy | lib/api.ts |
GET /api/students/import-jobs |
api | healthy | lib/api.ts |
GET /api/moduleaccesstokens/ |
api | healthy | lib/api.ts |
POST /api/moduleaccesstokens/ |
api | healthy | lib/api.ts |
GET /api/super-admin/stats |
api | healthy | lib/api.ts |
GET /api/super-admin/universities/all |
api | healthy | lib/api.ts |
GET /api/professoragents/my-agent |
api | healthy | lib/api.ts |
GET /api/professoragents |
api | healthy | lib/api.ts |
POST /api/professoragents |
api | healthy | lib/api.ts |
GET /api/professoragents/by-professor |
api | healthy | lib/api.ts |
POST /api/tutor/ask |
api | healthy | lib/api.ts |
GET /api/analytics/dashboard/summary |
api | healthy | lib/api.ts |
GET /api/analytics/dashboard/unified |
api | healthy | lib/api.ts |
GET /api/analytics/costs/detailed |
api | healthy | lib/api.ts |
GET /api/analytics/costs/today |
api | healthy | lib/api.ts |
GET /api/analytics/usage/today |
api | healthy | lib/api.ts |
GET /api/analytics/usage/trends |
api | healthy | lib/api.ts |
GET /api/analytics/usage/hourly |
api | healthy | lib/api.ts |
GET /api/analytics/students/top-active |
api | healthy | lib/api.ts |
GET /api/analytics/performance/response-quality |
api | healthy | lib/api.ts |
GET /api/analytics/engagement/conversations |
api | healthy | lib/api.ts |
GET /api/analytics/modules/compare |
api | healthy | lib/api.ts |
GET /api/analytics/questions/frequently-asked |
api | healthy | lib/api.ts |
GET /api/audit-logs |
api | healthy | lib/api.ts |
GET /api/provider-keys/ |
api | healthy | lib/api.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
NotFound |
frontend | healthy | app/not-found.tsx |
HomePage |
frontend | healthy | app/page.tsx |
RootLayout |
frontend | healthy | app/layout.tsx |
Error |
frontend | healthy | app/error.tsx |
GlobalError |
frontend | healthy | app/global-error.tsx |
SetupPasswordPage |
frontend | healthy | app/setup-password/page.tsx |
DashboardLayout |
frontend | healthy | app/(dashboard)/layout.tsx |
UsersPage |
frontend | healthy | app/(dashboard)/users/page.tsx |
UserDetailPage |
frontend | healthy | app/(dashboard)/users/[id]/page.tsx |
CreateUserPage |
frontend | healthy | app/(dashboard)/users/create/page.tsx |
ProfessorsPage |
frontend | healthy | app/(dashboard)/professors/page.tsx |
EditProfessorPage |
frontend | healthy | app/(dashboard)/professors/[id]/edit/page.tsx |
CreateProfessorPage |
frontend | healthy | app/(dashboard)/professors/create/page.tsx |
CreateAdminProfessorPage |
frontend | healthy | app/(dashboard)/professors/create-admin/page.tsx |
ModelsPage |
frontend | healthy | app/(dashboard)/models/page.tsx |
AnalyticsPage |
frontend | healthy | app/(dashboard)/analytics/page.tsx |
SubscriptionPage |
frontend | healthy | app/(dashboard)/subscription/page.tsx |
DashboardPage |
frontend | healthy | app/(dashboard)/dashboard/page.tsx |
StudentsPage |
frontend | healthy | app/(dashboard)/students/page.tsx |
EditStudentPage |
frontend | healthy | app/(dashboard)/students/[id]/edit/page.tsx |
AdminDashboardPage |
frontend | healthy | app/(dashboard)/admin/page.tsx |
SuperAdminsPage |
frontend | healthy | app/(dashboard)/admin/super-admins/page.tsx |
EditSuperAdminPage |
frontend | healthy | app/(dashboard)/admin/super-admins/[id]/edit/page.tsx |
CreateSuperAdminPage |
frontend | healthy | app/(dashboard)/admin/super-admins/create/page.tsx |
SystemStatsPage |
frontend | healthy | app/(dashboard)/admin/system-stats/page.tsx |
AdminPermissionsPage |
frontend | healthy | app/(dashboard)/admin/permissions/page.tsx |
AdminSubscriptionsPage |
frontend | healthy | app/(dashboard)/admin/subscriptions/page.tsx |
PlansPage |
frontend | healthy | app/(dashboard)/admin/plans/page.tsx |
ModulesPage |
frontend | healthy | app/(dashboard)/modules/page.tsx |
ModuleDetailsPage |
frontend | healthy | app/(dashboard)/modules/[id]/page.tsx |
EditModulePage |
frontend | healthy | app/(dashboard)/modules/[id]/edit/page.tsx |
CreateModulePage |
frontend | healthy | app/(dashboard)/modules/create/page.tsx |
UniversitiesPage |
frontend | healthy | app/(dashboard)/universities/page.tsx |
UniversityDetailsPage |
frontend | healthy | app/(dashboard)/universities/[id]/page.tsx |
EditUniversityPage |
frontend | healthy | app/(dashboard)/universities/[id]/edit/page.tsx |
CreateUniversityPage |
frontend | healthy | app/(dashboard)/universities/create/page.tsx |
TokensPage |
frontend | healthy | app/(dashboard)/tokens/page.tsx |
ChangePasswordPage |
frontend | healthy | app/(dashboard)/change-password/page.tsx |
AuditLogsPage |
frontend | healthy | app/(dashboard)/audit-logs/page.tsx |
ProfessorAgentPage |
frontend | healthy | app/(dashboard)/professor-agent/page.tsx |
CoursesPage |
frontend | healthy | app/(dashboard)/courses/page.tsx |
CourseDetailsPage |
frontend | healthy | app/(dashboard)/courses/[id]/page.tsx |
EditCoursePage |
frontend | healthy | app/(dashboard)/courses/[id]/edit/page.tsx |
CreateCoursePage |
frontend | healthy | app/(dashboard)/courses/create/page.tsx |
TutorialsPage |
frontend | healthy | app/(dashboard)/tutorials/page.tsx |
PrivacyPolicyPage |
frontend | healthy | app/privacy-policy/page.tsx |
AuthLayout |
frontend | healthy | app/(auth)/layout.tsx |
LoginPage |
frontend | healthy | app/(auth)/login/page.tsx |
SignupPage |
frontend | healthy | app/(auth)/signup/page.tsx |
ForgotPasswordPage |
frontend | healthy | app/(auth)/forgot-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 |
|---|---|---|---|
auth::components/auth/auth-provider.tsx |
security | healthy | components/auth/auth-provider.tsx |
auth::downloads/api_docs.json |
security | healthy | downloads/api_docs.json |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::package.json |
security | healthy | package.json |
auth::lib/permissions.ts |
security | healthy | lib/permissions.ts |
auth::README.md |
security | healthy | README.md |
auth::lib/auth.ts |
security | healthy | lib/auth.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | components/ui/error-boundary.tsx:ErrorBoundary |
ApiError |
software | healthy | lib/api.ts:ApiError |
TutoriaAPIClient |
software | healthy | lib/api.ts:TutoriaAPIClient |
AuthService |
software | healthy | lib/auth.ts:AuthService |
| Label | Layer | Status | Path |
|---|---|---|---|
claude-review |
cicd | healthy | .github/workflows/claude-code-review.yml |
typecheck |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
claude |
cicd | healthy | .github/workflows/claude.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::claude-code-review |
cicd | healthy | .github/workflows/claude-code-review.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::claude |
cicd | healthy | .github/workflows/claude.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | README.md |
vps::aws |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
CLAUDE_CODE_OAUTH_TOKEN |
cicd | healthy | — |
NEXT_PUBLIC_API_URL |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-r4guf0xa |
software | healthy | /tmp/repobility-clone-r4guf0xa |
| Label | Layer | Status | Path |
|---|---|---|---|
sqs |
data | healthy | app/(dashboard)/modules/[id]/page.tsx |
This page is publicly accessible at:
https://repobility.com/scan/3cb93aea-ca55-47e4-a682-3238a0a22e39/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3cb93aea-ca55-47e4-a682-3238a0a22e39/
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.