https://github.com/ramyanant/McHRMS
· scanned 2026-05-16 20:29 UTC (3 weeks, 3 days ago)
· 10 languages
211 raw signals (59 security + 152 graph) 3rd percentile · Python · small (2-20K LoC) System graph score 93 (lower by 52)
Last scanned 3 weeks, 3 days ago · v2 · 39 actionable findings from 1 signal source. 20 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1145 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 |
|---|---|---|---|
get_conn |
software | healthy | init_db.py:7 |
hash_pw |
software | healthy | init_db.py:14 |
init_db |
software | healthy | init_db.py:16 |
seed_db |
software | healthy | init_db.py:22 |
_find_dir |
software | healthy | api/app.py:11 |
default |
software | healthy | api/app.py:27 |
handle_exception |
software | healthy | api/app.py:42 |
get_pg_conn |
software | healthy | api/app.py:50 |
_do_reset |
software | healthy | api/app.py:60 |
_bootstrap_db |
software | healthy | api/app.py:133 |
_seed_pg |
software | healthy | api/app.py:155 |
get_db |
software | healthy | api/app.py:286 |
close_db |
software | healthy | api/app.py:294 |
_cur |
software | healthy | api/app.py:300 |
rows |
software | healthy | api/app.py:303 |
row1 |
software | healthy | api/app.py:309 |
_scalar |
software | healthy | api/app.py:315 |
ok |
software | healthy | api/app.py:322 |
err |
software | healthy | api/app.py:323 |
hash_pw |
software | healthy | api/app.py:324 |
log |
software | healthy | api/app.py:325 |
get_user |
software | healthy | api/app.py:329 |
require_auth |
software | dead | api/app.py:337 |
w |
software | healthy | api/app.py:340 |
cors |
software | healthy | api/app.py:348 |
catch_all |
software | healthy | api/app.py:357 |
handle_options |
software | healthy | api/app.py:367 |
login |
software | healthy | api/app.py:373 |
logout |
software | healthy | api/app.py:400 |
change_password |
software | healthy | api/app.py:407 |
auth_me |
software | healthy | api/app.py:422 |
change_pw |
software | healthy | api/app.py:429 |
users |
software | healthy | api/app.py:445 |
user_detail |
software | healthy | api/app.py:460 |
bulk_upload |
software | healthy | api/app.py:489 |
masters_all |
software | healthy | api/app.py:633 |
masters |
software | healthy | api/app.py:654 |
_migrate_employee_columns |
software | healthy | api/app.py:683 |
_migrate_org_columns |
software | healthy | api/app.py:707 |
_migrate_client_vendor_columns |
software | healthy | api/app.py:725 |
organisation |
software | healthy | api/app.py:765 |
add_gst |
software | healthy | api/app.py:810 |
gst_detail |
software | healthy | api/app.py:820 |
add_bank |
software | healthy | api/app.py:832 |
bank_detail |
software | healthy | api/app.py:845 |
add_labour_cert |
software | healthy | api/app.py:856 |
labour_cert_detail |
software | healthy | api/app.py:866 |
org_docs |
software | healthy | api/app.py:877 |
org_doc_detail |
software | healthy | api/app.py:891 |
org_summary |
software | healthy | api/app.py:904 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ANY / |
api | healthy | api/app.py |
ANY /<path:path> |
api | healthy | api/app.py |
ANY /api/options |
api | healthy | api/app.py |
ANY /api/auth/login |
api | healthy | api/app.py |
ANY /api/auth/logout |
api | healthy | api/app.py |
ANY /api/auth/change-password |
api | healthy | api/app.py |
ANY /api/auth/me |
api | healthy | api/app.py |
ANY /api/users |
api | healthy | api/app.py |
ANY /api/users/<int:uid> |
api | healthy | api/app.py |
ANY /api/bulk/upload/<entity> |
api | healthy | api/app.py |
ANY /api/masters/all |
api | healthy | api/app.py |
ANY /api/masters/<table> |
api | healthy | api/app.py |
ANY /api/organisation |
api | healthy | api/app.py |
ANY /api/organisation/gst |
api | healthy | api/app.py |
ANY /api/organisation/gst/<int:gid> |
api | healthy | api/app.py |
ANY /api/organisation/banks |
api | healthy | api/app.py |
ANY /api/organisation/banks/<int:bid> |
api | healthy | api/app.py |
ANY /api/organisation/labour-certs |
api | healthy | api/app.py |
ANY /api/organisation/labour-certs/<int:lid> |
api | healthy | api/app.py |
ANY /api/organisation/documents |
api | healthy | api/app.py |
ANY /api/organisation/documents/<int:did> |
api | healthy | api/app.py |
ANY /api/org/summary |
api | healthy | api/app.py |
ANY /api/departments |
api | healthy | api/app.py |
ANY /api/departments/<int:did> |
api | healthy | api/app.py |
ANY /api/business-units |
api | healthy | api/app.py |
ANY /api/business-units/<int:bid> |
api | healthy | api/app.py |
ANY /api/cost-centres |
api | healthy | api/app.py |
ANY /api/cost-centres/<int:cid> |
api | healthy | api/app.py |
ANY /api/offices |
api | healthy | api/app.py |
ANY /api/offices/<int:oid> |
api | healthy | api/app.py |
ANY /api/clients |
api | healthy | api/app.py |
ANY /api/clients/<int:cid> |
api | healthy | api/app.py |
ANY /api/clients/<int:cid>/documents |
api | healthy | api/app.py |
ANY /api/clients/documents/<int:did> |
api | healthy | api/app.py |
ANY /api/vendors |
api | healthy | api/app.py |
ANY /api/vendors/<int:vid> |
api | healthy | api/app.py |
ANY /api/vendors/<int:vid>/documents |
api | healthy | api/app.py |
ANY /api/vendors/documents/<int:did> |
api | healthy | api/app.py |
ANY /api/employees |
api | healthy | api/app.py |
ANY /api/employees/<int:eid> |
api | healthy | api/app.py |
ANY /api/employees/<int:eid>/addresses |
api | healthy | api/app.py |
ANY /api/employees/<int:eid>/emergency-contacts |
api | healthy | api/app.py |
ANY /api/employees/emergency-contacts/<int:cid> |
api | healthy | api/app.py |
ANY /api/employees/<int:eid>/education |
api | healthy | api/app.py |
ANY /api/employees/education/<int:eid> |
api | healthy | api/app.py |
ANY /api/employees/<int:eid>/experience |
api | healthy | api/app.py |
ANY /api/employees/experience/<int:xid> |
api | healthy | api/app.py |
ANY /api/employees/<int:eid>/documents |
api | healthy | api/app.py |
ANY /api/employees/documents/<int:did> |
api | healthy | api/app.py |
ANY /api/my/profile |
api | healthy | api/app.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
DEPLOY.sh |
software | healthy | DEPLOY.sh |
schema.sql |
software | healthy | schema.sql |
index.html |
software | healthy | index.html |
nixpacks.toml |
software | healthy | nixpacks.toml |
Procfile |
software | healthy | Procfile |
init_db.py |
software | healthy | init_db.py |
requirements.txt |
software | healthy | requirements.txt |
railway.json |
software | healthy | railway.json |
__init__.py |
software | healthy | api/__init__.py |
app.py |
software | healthy | api/app.py |
run.py |
software | warning | api/run.py |
__init__.py |
software | healthy | api/v2/__init__.py |
config.py |
software | healthy | api/v2/config.py |
main.py |
software | warning | api/v2/main.py |
extensions.py |
software | healthy | api/v2/extensions.py |
__init__.py |
software | healthy | api/v2/models/__init__.py |
schema.sql |
software | healthy | api/v2/models/schema.sql |
bootstrap.py |
software | healthy | api/v2/models/bootstrap.py |
__init__.py |
software | healthy | api/v2/middleware/__init__.py |
auth.py |
software | healthy | api/v2/middleware/auth.py |
audit.py |
software | healthy | api/v2/middleware/audit.py |
__init__.py |
software | healthy | api/v2/blueprints/__init__.py |
__init__.py |
software | healthy | api/v2/blueprints/notifications/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/auth/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/auth/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/projects/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/projects/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/vendors/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/vendors/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/organisation/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/organisation/__init__.py |
__init__.py |
software | healthy | api/v2/blueprints/audit/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/bills/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/bills/__init__.py |
__init__.py |
software | healthy | api/v2/blueprints/payroll/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/recruitment/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/recruitment/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/admin/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/admin/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/clients/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/clients/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/portal/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/portal/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/reports/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/reports/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/timesheets/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/timesheets/__init__.py |
routes.py |
software | healthy | api/v2/blueprints/people/routes.py |
__init__.py |
software | healthy | api/v2/blueprints/people/__init__.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
master_countries |
data | healthy | schema.sql |
master_states |
data | healthy | schema.sql |
master_employment_types |
data | healthy | schema.sql |
master_contract_types |
data | healthy | schema.sql |
master_vendor_categories |
data | healthy | schema.sql |
master_invoice_statuses |
data | healthy | schema.sql |
master_application_stages |
data | healthy | schema.sql |
master_interview_formats |
data | healthy | schema.sql |
master_onboarding_templates |
data | healthy | schema.sql |
master_candidate_sources |
data | healthy | schema.sql |
master_payment_terms |
data | healthy | schema.sql |
master_priority_levels |
data | healthy | schema.sql |
master_timesheet_statuses |
data | healthy | schema.sql |
master_payroll_run_types |
data | healthy | schema.sql |
master_user_roles |
data | healthy | schema.sql |
organisation |
data | healthy | schema.sql |
organisation_labour_certs |
data | healthy | schema.sql |
organisation_documents |
data | healthy | schema.sql |
organisation_gst |
data | healthy | schema.sql |
organisation_bank_accounts |
data | healthy | schema.sql |
business_units |
data | healthy | schema.sql |
departments |
data | healthy | schema.sql |
office_locations |
data | healthy | schema.sql |
clients |
data | healthy | schema.sql |
vendors |
data | healthy | schema.sql |
employees |
data | healthy | schema.sql |
users |
data | healthy | schema.sql |
user_sessions |
data | healthy | schema.sql |
timesheets |
data | healthy | schema.sql |
payroll_runs |
data | healthy | schema.sql |
job_requisitions |
data | healthy | schema.sql |
candidates |
data | healthy | schema.sql |
applications |
data | healthy | schema.sql |
interviews |
data | healthy | schema.sql |
onboarding |
data | healthy | schema.sql |
onboarding_tasks |
data | healthy | schema.sql |
invoices |
data | healthy | schema.sql |
invoice_line_items |
data | healthy | schema.sql |
activity_log |
data | healthy | schema.sql |
audit_log |
data | healthy | api/v2/models/schema.sql |
permissions |
data | healthy | api/v2/models/schema.sql |
master_relationship_types |
data | healthy | api/v2/models/schema.sql |
cost_centres |
data | healthy | api/v2/models/schema.sql |
employee_addresses |
data | healthy | api/v2/models/schema.sql |
employee_emergency_contacts |
data | healthy | api/v2/models/schema.sql |
employee_education |
data | healthy | api/v2/models/schema.sql |
employee_experience |
data | healthy | api/v2/models/schema.sql |
employee_documents |
data | healthy | api/v2/models/schema.sql |
leave_balances |
data | healthy | api/v2/models/schema.sql |
employee_leaves |
data | healthy | api/v2/models/schema.sql |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/invoices |
frontend | healthy | static/js/pages/invoices.js |
/admin |
frontend | healthy | static/js/pages/admin.js |
/portal |
frontend | healthy | static/js/pages/portal.js |
/timesheets |
frontend | healthy | static/js/pages/timesheets.js |
/vendors |
frontend | healthy | static/js/pages/vendors.js |
/dashboard |
frontend | healthy | static/js/pages/dashboard.js |
/employees |
frontend | healthy | static/js/pages/employees.js |
/reports |
frontend | healthy | static/js/pages/reports.js |
/orgstructure |
frontend | healthy | static/js/pages/orgstructure.js |
/clients |
frontend | healthy | static/js/pages/clients.js |
/recruitment |
frontend | healthy | static/js/pages/recruitment.js |
/bills |
frontend | healthy | static/js/pages/bills.js |
/payroll |
frontend | healthy | static/js/pages/payroll.js |
/projects |
frontend | healthy | static/js/pages/projects.js |
/auditlogs |
frontend | healthy | static/js/pages/auditlogs.js |
/organisation |
frontend | healthy | static/js/pages/organisation.js |
/organisation/profile |
frontend | healthy | static/js/sidebar.js |
/organisation/business-units |
frontend | healthy | static/js/sidebar.js |
/organisation/departments |
frontend | healthy | static/js/sidebar.js |
/organisation/cost-centres |
frontend | healthy | static/js/sidebar.js |
/organisation/locations |
frontend | healthy | static/js/sidebar.js |
/leaves |
frontend | healthy | static/js/sidebar.js |
/recruitment/jobs |
frontend | healthy | static/js/sidebar.js |
/recruitment/candidates |
frontend | healthy | static/js/sidebar.js |
/recruitment/pipeline |
frontend | healthy | static/js/sidebar.js |
/recruitment/interviews |
frontend | healthy | static/js/sidebar.js |
/recruitment/offers |
frontend | healthy | static/js/sidebar.js |
/recruitment/onboarding |
frontend | healthy | static/js/sidebar.js |
/admin/users |
frontend | healthy | static/js/sidebar.js |
/audit-logs |
frontend | healthy | static/js/sidebar.js |
/settings |
frontend | healthy | static/js/sidebar.js |
/portal/profile |
frontend | healthy | static/js/sidebar.js |
/portal/timesheets |
frontend | healthy | static/js/sidebar.js |
/portal/leaves |
frontend | healthy | static/js/sidebar.js |
/portal/payslips |
frontend | healthy | static/js/sidebar.js |
/portal/team |
frontend | healthy | static/js/sidebar.js |
/portal/approvals |
frontend | healthy | static/js/sidebar.js |
/candidates |
frontend | healthy | static/js/app.js |
/admin/roles |
frontend | healthy | static/js/app.js |
| Label | Layer | Status | Path |
|---|---|---|---|
api |
software | healthy | api |
v2 |
software | healthy | api/v2 |
models |
software | healthy | api/v2/models |
middleware |
software | healthy | api/v2/middleware |
blueprints |
software | healthy | api/v2/blueprints |
notifications |
software | healthy | api/v2/blueprints/notifications |
auth |
software | healthy | api/v2/blueprints/auth |
projects |
software | healthy | api/v2/blueprints/projects |
vendors |
software | healthy | api/v2/blueprints/vendors |
organisation |
software | healthy | api/v2/blueprints/organisation |
audit |
software | healthy | api/v2/blueprints/audit |
bills |
software | healthy | api/v2/blueprints/bills |
payroll |
software | healthy | api/v2/blueprints/payroll |
recruitment |
software | healthy | api/v2/blueprints/recruitment |
admin |
software | healthy | api/v2/blueprints/admin |
clients |
software | healthy | api/v2/blueprints/clients |
portal |
software | healthy | api/v2/blueprints/portal |
reports |
software | healthy | api/v2/blueprints/reports |
timesheets |
software | healthy | api/v2/blueprints/timesheets |
people |
software | healthy | api/v2/blueprints/people |
invoices |
software | healthy | api/v2/blueprints/invoices |
utils |
software | healthy | api/v2/utils |
static |
software | healthy | static |
js |
software | healthy | static/js |
components |
software | healthy | static/js/components |
pages |
software | healthy | static/js/pages |
css |
software | healthy | static/css |
docs |
software | healthy | docs |
db |
software | healthy | db |
| Label | Layer | Status | Path |
|---|---|---|---|
PGJSONProvider |
software | healthy | api/app.py:26 |
Config |
software | healthy | api/v2/config.py:7 |
DevelopmentConfig |
software | healthy | api/v2/config.py:41 |
ProductionConfig |
software | healthy | api/v2/config.py:45 |
AuditMiddleware |
software | healthy | api/v2/middleware/audit.py:49 |
ValidationError |
software | healthy | api/v2/utils/validators.py:5 |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | nixpacks.toml |
postgres |
data | healthy | api/app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::static/js/pages/employees.js |
security | healthy | static/js/pages/employees.js |
auth::static/js/pages/portal.js |
security | healthy | static/js/pages/portal.js |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-08st1a09 |
software | healthy | /tmp/repobility-clone-08st1a09 |
| Label | Layer | Status | Path |
|---|---|---|---|
kafka |
data | healthy | init_db.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | init_db.py |
This page is publicly accessible at:
https://repobility.com/scan/70ca1e05-2ed2-48bd-8ad2-b84eca1d9557/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/70ca1e05-2ed2-48bd-8ad2-b84eca1d9557/
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.