Scan timing: clone 4.36s · analysis 9.75s · 15.1 MB · GitHub API rate-limit (preflight)
https://github.com/frappe/education
· scanned 2026-06-05 12:59 UTC (5 days, 9 hours ago)
· 10 languages
304 raw signals (136 security + 168 graph) 24th percentile · Python · small (2-20K LoC) System graph score 83 (lower by 26)
Last scanned 5 days, 9 hours ago · v2 · 150 actionable findings from 2 signal sources. 70 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
60.0 | 0.15 | 9.00 |
security_score |
38.2 | 0.25 | 9.55 |
testing_score |
56.0 | 0.20 | 11.20 |
documentation_score |
62.0 | 0.15 | 9.30 |
practices_score |
73.0 | 0.15 | 10.95 |
code_quality |
71.7 | 0.10 | 7.17 |
| Overall | 1.00 | 57.2 |
All 1215 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 |
|---|---|---|---|
.prettierrc.json |
software | healthy | .prettierrc.json |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
.mergify.yml |
software | healthy | .mergify.yml |
vite.config.js |
software | warning | frontend/vite.config.js |
.prettierrc.json |
software | healthy | frontend/.prettierrc.json |
README.md |
software | healthy | frontend/README.md |
tailwind.config.js |
software | warning | frontend/tailwind.config.js |
polyfills.js |
software | warning | frontend/polyfills.js |
package.json |
software | healthy | frontend/package.json |
index.html |
software | healthy | frontend/index.html |
postcss.config.js |
software | warning | frontend/postcss.config.js |
index.css |
software | healthy | frontend/src/index.css |
App.vue |
software | healthy | frontend/src/App.vue |
main.js |
software | warning | frontend/src/main.js |
router.js |
software | warning | frontend/src/router.js |
session.js |
software | healthy | frontend/src/stores/session.js |
student.js |
software | healthy | frontend/src/stores/student.js |
user.js |
software | warning | frontend/src/stores/user.js |
leave.js |
software | healthy | frontend/src/stores/leave.js |
index.js |
software | healthy | frontend/src/utils/index.js |
SidebarLink.vue |
software | healthy | frontend/src/components/SidebarLink.vue |
AttendanceDetail.vue |
software | healthy | frontend/src/components/AttendanceDetail.vue |
Sidebar.vue |
software | healthy | frontend/src/components/Sidebar.vue |
ProfileModal.vue |
software | healthy | frontend/src/components/ProfileModal.vue |
Home.vue |
software | healthy | frontend/src/components/Home.vue |
Navbar.vue |
software | healthy | frontend/src/components/Navbar.vue |
NewLeave.vue |
software | healthy | frontend/src/components/NewLeave.vue |
CalendarEvent.vue |
software | healthy | frontend/src/components/CalendarEvent.vue |
FeesPaymentDialog.vue |
software | healthy | frontend/src/components/FeesPaymentDialog.vue |
CollapseSidebar.vue |
software | healthy | frontend/src/components/CollapseSidebar.vue |
UserDropdown.vue |
software | healthy | frontend/src/components/UserDropdown.vue |
CalendarView.vue |
software | healthy | frontend/src/components/CalendarView.vue |
MissingData.vue |
software | healthy | frontend/src/components/MissingData.vue |
UpdateStudentInfo.vue |
software | healthy | frontend/src/components/UpdateStudentInfo.vue |
Calendar.vue |
software | healthy | frontend/src/components/Calendar.vue |
inter.css |
software | healthy | frontend/src/assets/Inter/inter.css |
Fees.vue |
software | healthy | frontend/src/pages/Fees.vue |
SchoolDiary.vue |
software | healthy | frontend/src/pages/SchoolDiary.vue |
Home.vue |
software | healthy | frontend/src/pages/Home.vue |
Schedule.vue |
software | healthy | frontend/src/pages/Schedule.vue |
Leaves.vue |
software | healthy | frontend/src/pages/Leaves.vue |
Attendance.vue |
software | healthy | frontend/src/pages/Attendance.vue |
Login.vue |
software | healthy | frontend/src/pages/Login.vue |
Grades.vue |
software | healthy | frontend/src/pages/Grades.vue |
init.sh |
software | healthy | docker/init.sh |
docker-compose.yml |
software | healthy | docker/docker-compose.yml |
install.py |
software | healthy | education/install.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
sessionUser |
software | healthy | frontend/src/stores/session.js:sessionUser |
getStudentInfo |
software | healthy | frontend/src/stores/student.js:getStudentInfo |
getCurrentProgram |
software | healthy | frontend/src/stores/student.js:getCurrentProgram |
getStudentGroups |
software | healthy | frontend/src/stores/student.js:getStudentGroups |
setIsAttendancePage |
software | healthy | frontend/src/stores/leave.js:setIsAttendancePage |
createToast |
software | healthy | frontend/src/utils/index.js:createToast |
getCalendarDates |
software | healthy | frontend/src/utils/index.js:getCalendarDates |
getCurrentMonthDates |
software | healthy | frontend/src/utils/index.js:getCurrentMonthDates |
getBeforeDates |
software | healthy | frontend/src/utils/index.js:getBeforeDates |
getNextMonthDates |
software | healthy | frontend/src/utils/index.js:getNextMonthDates |
getDatesAfter |
software | healthy | frontend/src/utils/index.js:getDatesAfter |
isLeapYear |
software | healthy | frontend/src/utils/index.js:isLeapYear |
groupBy |
software | healthy | frontend/src/utils/index.js:groupBy |
after_install |
software | dead | education/install.py:7 |
setup_fixtures |
software | healthy | education/install.py:16 |
create_parent_assessment_group |
software | healthy | education/install.py:28 |
create_student_role |
software | healthy | education/install.py:39 |
create_invoice_permissions |
software | healthy | education/install.py:44 |
get_permissions |
software | healthy | education/install.py:57 |
create_permissions |
software | healthy | education/install.py:80 |
get_custom_fields |
software | healthy | education/install.py:91 |
get_context |
software | dead | education/config/docs.py:10 |
get_data |
software | healthy | education/config/desktop.py:4 |
has_app_permission |
software | dead | education/api/permissions.py:4 |
validate_student_belongs_to_group |
software | healthy | education/education/__init__.py:9 |
before_tests |
software | healthy | education/education/test_utils.py:17 |
make_holiday_list |
software | healthy | education/education/test_utils.py:50 |
create_academic_year |
software | healthy | education/education/test_utils.py:65 |
create_academic_term |
software | healthy | education/education/test_utils.py:78 |
create_fee_category |
software | healthy | education/education/test_utils.py:92 |
create_program |
software | healthy | education/education/test_utils.py:101 |
create_fee_structure |
software | healthy | education/education/test_utils.py:109 |
create_student |
software | healthy | education/education/test_utils.py:136 |
create_program_enrollment |
software | healthy | education/education/test_utils.py:151 |
create_student_group |
software | healthy | education/education/test_utils.py:171 |
create_fee_schedule |
software | healthy | education/education/test_utils.py:196 |
create_instructor |
software | healthy | education/education/test_utils.py:227 |
create_course |
software | healthy | education/education/test_utils.py:234 |
create_room |
software | healthy | education/education/test_utils.py:241 |
create_grading_scale |
software | healthy | education/education/test_utils.py:248 |
create_company |
software | healthy | education/education/test_utils.py:262 |
get_defaults |
software | healthy | education/education/test_utils.py:269 |
validate_overlap_for |
software | healthy | education/education/utils.py:11 |
get_overlap_for |
software | healthy | education/education/utils.py:30 |
validate_duplicate_student |
software | healthy | education/education/utils.py:60 |
get_current_student |
software | healthy | education/education/utils.py:76 |
get_enrollment |
software | healthy | education/education/utils.py:92 |
enroll_in_program |
software | healthy | education/education/utils.py:120 |
has_super_access |
software | healthy | education/education/utils.py:161 |
add_activity |
software | healthy | education/education/utils.py:182 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
StudentNotInGroupError |
software | healthy | education/education/__init__.py:5 |
OverlapError |
software | healthy | education/education/utils.py:7 |
CourseSchedule |
software | healthy | education/education/doctype/course_schedule/course_schedule… |
TestCourseSchedule |
software | healthy | education/education/doctype/course_schedule/test_course_sch… |
TestPaymentRecord |
software | healthy | education/education/doctype/payment_record/test_payment_rec… |
PaymentRecord |
software | healthy | education/education/doctype/payment_record/payment_record.p… |
Options |
software | healthy | education/education/doctype/options/options.py:8 |
AssessmentPlanCriteria |
software | healthy | education/education/doctype/assessment_plan_criteria/assess… |
GuardianStudent |
software | healthy | education/education/doctype/guardian_student/guardian_stude… |
TestStudent |
software | healthy | education/education/doctype/student/test_student.py:16 |
Student |
software | healthy | education/education/doctype/student/student.py:16 |
TestAssessmentResultTool |
software | healthy | education/education/doctype/assessment_result_tool/test_ass… |
AssessmentResultTool |
software | healthy | education/education/doctype/assessment_result_tool/assessme… |
StudentCategory |
software | healthy | education/education/doctype/student_category/student_catego… |
TestStudentCategory |
software | healthy | education/education/doctype/student_category/test_student_c… |
StudentApplicant |
software | healthy | education/education/doctype/student_applicant/student_appli… |
TestStudentApplicant |
software | healthy | education/education/doctype/student_applicant/test_student_… |
QuizQuestion |
software | healthy | education/education/doctype/quiz_question/quiz_question.py:8 |
CourseAssessmentCriteria |
software | healthy | education/education/doctype/course_assessment_criteria/cour… |
AcademicYear |
software | healthy | education/education/doctype/academic_year/academic_year.py:… |
TestAcademicYear |
software | healthy | education/education/doctype/academic_year/test_academic_yea… |
TestStudentAdmission |
software | healthy | education/education/doctype/student_admission/test_student_… |
StudentAdmission |
software | healthy | education/education/doctype/student_admission/student_admis… |
TestFees |
software | healthy | education/education/doctype/fees/test_fees.py:15 |
Fees |
software | healthy | education/education/doctype/fees/fees.py:17 |
TestStudentBatchName |
software | healthy | education/education/doctype/student_batch_name/test_student… |
StudentBatchName |
software | healthy | education/education/doctype/student_batch_name/student_batc… |
Question |
software | healthy | education/education/doctype/question/question.py:10 |
TestQuestion |
software | healthy | education/education/doctype/question/test_question.py:8 |
StudentGroupInstructor |
software | healthy | education/education/doctype/student_group_instructor/studen… |
GradingScale |
software | healthy | education/education/doctype/grading_scale/grading_scale.py:… |
TestGradingScale |
software | healthy | education/education/doctype/grading_scale/test_grading_scal… |
TestGuardian |
software | healthy | education/education/doctype/guardian/test_guardian.py:10 |
Guardian |
software | healthy | education/education/doctype/guardian/guardian.py:11 |
ProgramEnrollmentFee |
software | healthy | education/education/doctype/program_enrollment_fee/program_… |
TestInstructor |
software | healthy | education/education/doctype/instructor/test_instructor.py:10 |
Instructor |
software | healthy | education/education/doctype/instructor/instructor.py:11 |
CourseActivity |
software | healthy | education/education/doctype/course_activity/course_activity… |
TestCourseActivity |
software | healthy | education/education/doctype/course_activity/test_course_act… |
Room |
software | healthy | education/education/doctype/room/room.py:8 |
TestRoom |
software | healthy | education/education/doctype/room/test_room.py:10 |
TestAcademicTerm |
software | healthy | education/education/doctype/academic_term/test_academic_ter… |
AcademicTerm |
software | healthy | education/education/doctype/academic_term/academic_term.py:… |
ProgramCourse |
software | healthy | education/education/doctype/program_course/program_course.p… |
StudentSiblings |
software | healthy | education/education/doctype/student_siblings/student_siblin… |
FeeScheduleProgram |
software | healthy | education/education/doctype/fee_schedule_program/fee_schedu… |
FeeCategoryDefault |
software | healthy | education/education/doctype/fee_category_default/fee_catego… |
TestQuiz |
software | healthy | education/education/doctype/quiz/test_quiz.py:8 |
Quiz |
software | healthy | education/education/doctype/quiz/quiz.py:10 |
InstructorLog |
software | healthy | education/education/doctype/instructor_log/instructor_log.p… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
software | healthy | frontend |
src |
software | healthy | frontend/src |
stores |
software | healthy | frontend/src/stores |
utils |
software | healthy | frontend/src/utils |
components |
software | healthy | frontend/src/components |
assets |
software | healthy | frontend/src/assets |
Inter |
software | healthy | frontend/src/assets/Inter |
pages |
software | healthy | frontend/src/pages |
docker |
software | healthy | docker |
education |
software | healthy | education |
config |
software | healthy | education/config |
api |
software | healthy | education/api |
workspace_sidebar |
software | healthy | education/workspace_sidebar |
desktop_icon |
software | healthy | education/desktop_icon |
templates |
software | healthy | education/templates |
pages |
software | healthy | education/templates/pages |
includes |
software | healthy | education/templates/includes |
assessment |
software | healthy | education/templates/includes/assessment |
course |
software | healthy | education/templates/includes/course |
generators |
software | healthy | education/templates/generators |
education |
software | healthy | education/education |
workspace |
software | healthy | education/education/workspace |
education |
software | healthy | education/education/workspace/education |
web_form |
software | healthy | education/education/web_form |
student_applicant |
software | healthy | education/education/web_form/student_applicant |
doctype |
software | healthy | education/education/doctype |
course_schedule |
software | healthy | education/education/doctype/course_schedule |
payment_record |
software | healthy | education/education/doctype/payment_record |
options |
software | healthy | education/education/doctype/options |
assessment_plan_criteria |
software | healthy | education/education/doctype/assessment_plan_criteria |
guardian_student |
software | healthy | education/education/doctype/guardian_student |
student |
software | healthy | education/education/doctype/student |
assessment_result_tool |
software | healthy | education/education/doctype/assessment_result_tool |
student_category |
software | healthy | education/education/doctype/student_category |
student_applicant |
software | healthy | education/education/doctype/student_applicant |
quiz_question |
software | healthy | education/education/doctype/quiz_question |
course_assessment_criteria |
software | healthy | education/education/doctype/course_assessment_criteria |
academic_year |
software | healthy | education/education/doctype/academic_year |
student_admission |
software | healthy | education/education/doctype/student_admission |
templates |
software | healthy | education/education/doctype/student_admission/templates |
fees |
software | healthy | education/education/doctype/fees |
student_batch_name |
software | healthy | education/education/doctype/student_batch_name |
question |
software | healthy | education/education/doctype/question |
student_group_instructor |
software | healthy | education/education/doctype/student_group_instructor |
grading_scale |
software | healthy | education/education/doctype/grading_scale |
guardian |
software | healthy | education/education/doctype/guardian |
program_enrollment_fee |
software | healthy | education/education/doctype/program_enrollment_fee |
instructor |
software | healthy | education/education/doctype/instructor |
course_activity |
software | healthy | education/education/doctype/course_activity |
room |
software | healthy | education/education/doctype/room |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | frontend/src/router.js |
/schedule |
frontend | healthy | frontend/src/router.js |
/grades |
frontend | healthy | frontend/src/router.js |
/fees |
frontend | healthy | frontend/src/router.js |
/attendance |
frontend | healthy | frontend/src/router.js |
/:catchAll(.*) |
frontend | healthy | frontend/src/router.js |
| Label | Layer | Status | Path |
|---|---|---|---|
APPS_JSON_BASE64 |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
FRAPPE_BRANCH |
cicd | healthy | — |
STABLE_TAG |
cicd | healthy | — |
IMAGE_TAG |
cicd | healthy | — |
EDUCATION_BRANCH |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
mariadb |
data | healthy | docker/docker-compose.yml |
mysql |
data | healthy | docker/docker-compose.yml |
redis |
data | healthy | docker/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | docker/docker-compose.yml |
port:9000 |
network | healthy | docker/docker-compose.yml |
port:3306 |
network | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
mariadb |
hardware | healthy | docker/docker-compose.yml |
redis |
hardware | healthy | docker/docker-compose.yml |
frappe |
hardware | healthy | docker/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::builds |
cicd | healthy | .github/workflows/builds.yml |
gha::linters |
cicd | healthy | .github/workflows/linters.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/builds.yml |
linters |
cicd | healthy | .github/workflows/linters.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-pdriflh8 |
software | healthy | /tmp/repobility-clone-pdriflh8 |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/0128f2aa-c13e-41b2-8af4-4451785204ab/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/0128f2aa-c13e-41b2-8af4-4451785204ab/
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.