https://github.com/ahmedhmmad/tawexam
· scanned 2026-06-17 01:29 UTC (1 month, 2 weeks ago)
13 raw signals (0 security + 13 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -6.6 (diff) · 10 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 331 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 |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
docker-compose.prod.yml |
software | healthy | docker-compose.prod.yml |
README.md |
software | healthy | README.md |
Makefile |
software | healthy | Makefile |
flutter_launcher_icons.yaml |
software | healthy | flutter_launcher_icons.yaml |
PROJECT_SUMMARY.md |
software | healthy | PROJECT_SUMMARY.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
PROJECT_MEMORY.md |
software | healthy | PROJECT_MEMORY.md |
NEXT_STEPS.md |
software | healthy | NEXT_STEPS.md |
pubspec.yaml |
software | healthy | pubspec.yaml |
analysis_options.yaml |
software | healthy | analysis_options.yaml |
admin-role-migration-db-push.md |
software | healthy | memory/admin-role-migration-db-push.md |
MEMORY.md |
software | healthy | memory/MEMORY.md |
index-en.html |
software | healthy | legal/index-en.html |
terms-of-service-en.html |
software | healthy | legal/terms-of-service-en.html |
terms.html |
software | healthy | legal/terms.html |
data-deletion.html |
software | healthy | legal/data-deletion.html |
privacy-policy.html |
software | healthy | legal/privacy-policy.html |
data-deletion-en.html |
software | healthy | legal/data-deletion-en.html |
index.html |
software | healthy | legal/index.html |
privacy-policy-en.html |
software | healthy | legal/privacy-policy-en.html |
terms-of-service.html |
software | healthy | legal/terms-of-service.html |
Dockerfile |
software | healthy | nginx/Dockerfile |
package-lock.json |
software | healthy | backend/package-lock.json |
package.json |
software | healthy | backend/package.json |
jest.setup.cjs |
software | healthy | backend/jest.setup.cjs |
jest.config.cjs |
software | healthy | backend/jest.config.cjs |
Dockerfile |
software | healthy | backend/Dockerfile |
tsconfig.json |
software | healthy | backend/tsconfig.json |
app.ts |
software | healthy | backend/src/app.ts |
password.ts |
software | healthy | backend/src/utils/password.ts |
excelImageExtractor.ts |
software | healthy | backend/src/utils/excelImageExtractor.ts |
api-response.ts |
software | healthy | backend/src/utils/api-response.ts |
excelParser.ts |
software | healthy | backend/src/utils/excelParser.ts |
app-error.ts |
software | healthy | backend/src/utils/app-error.ts |
audit-log.service.ts |
software | healthy | backend/src/utils/audit-log.service.ts |
excelImageExtractor.test.ts |
software | healthy | backend/src/utils/excelImageExtractor.test.ts |
express.d.ts |
software | healthy | backend/src/types/express.d.ts |
rbac.ts |
software | healthy | backend/src/middlewares/rbac.ts |
rateLimiter.ts |
software | healthy | backend/src/middlewares/rateLimiter.ts |
validate.ts |
software | healthy | backend/src/middlewares/validate.ts |
auth.ts |
software | healthy | backend/src/middlewares/auth.ts |
requestId.ts |
software | healthy | backend/src/middlewares/requestId.ts |
errorHandler.ts |
software | healthy | backend/src/middlewares/errorHandler.ts |
asyncHandler.ts |
software | healthy | backend/src/middlewares/asyncHandler.ts |
monitoring.repository.ts |
software | healthy | backend/src/modules/monitoring/monitoring.repository.ts |
monitoring.schema.ts |
software | healthy | backend/src/modules/monitoring/monitoring.schema.ts |
monitoring.service.ts |
software | healthy | backend/src/modules/monitoring/monitoring.service.ts |
monitoring.router.ts |
software | healthy | backend/src/modules/monitoring/monitoring.router.ts |
monitoring.controller.ts |
software | healthy | backend/src/modules/monitoring/monitoring.controller.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
hashPassword |
software | healthy | backend/src/utils/password.ts:hashPassword |
comparePassword |
software | healthy | backend/src/utils/password.ts:comparePassword |
extractInCellImages |
software | healthy | backend/src/utils/excelImageExtractor.ts:extractInCellImages |
extension |
software | healthy | backend/src/utils/excelImageExtractor.ts:extension |
readEntry |
software | healthy | backend/src/utils/excelImageExtractor.ts:readEntry |
parseValueMetadata |
software | healthy | backend/src/utils/excelImageExtractor.ts:parseValueMetadata |
parseRichValues |
software | healthy | backend/src/utils/excelImageExtractor.ts:parseRichValues |
sendSuccess |
software | healthy | backend/src/utils/api-response.ts:sendSuccess |
ensureXlsxFile |
software | healthy | backend/src/utils/excelParser.ts:ensureXlsxFile |
parseWorkbook |
software | healthy | backend/src/utils/excelParser.ts:parseWorkbook |
buildWorkbookWithInCellImage |
software | healthy | backend/src/utils/excelImageExtractor.test.ts:buildWorkbook… |
requireAdminRole |
software | healthy | backend/src/middlewares/rbac.ts:requireAdminRole |
buildStore |
software | healthy | backend/src/middlewares/rateLimiter.ts:buildStore |
validateBody |
software | healthy | backend/src/middlewares/validate.ts:validateBody |
validateQuery |
software | healthy | backend/src/middlewares/validate.ts:validateQuery |
validateParams |
software | healthy | backend/src/middlewares/validate.ts:validateParams |
authenticate |
software | healthy | backend/src/middlewares/auth.ts:authenticate |
requestId |
software | healthy | backend/src/middlewares/requestId.ts:requestId |
id |
software | healthy | backend/src/middlewares/requestId.ts:id |
errorHandler |
software | healthy | backend/src/middlewares/errorHandler.ts:errorHandler |
asyncHandler |
software | healthy | backend/src/middlewares/asyncHandler.ts:asyncHandler |
normalizeImageUrl |
software | healthy | backend/src/modules/questions/questions.service.ts:normaliz… |
cleanCellText |
software | healthy | backend/src/modules/questions/questions.service.ts:cleanCel… |
questionImageUrl |
software | healthy | backend/src/modules/questions/questions.service.ts:question… |
value |
software | healthy | backend/src/modules/questions/questions.service.ts:value |
rowNumber |
software | healthy | backend/src/modules/questions/questions.service.ts:rowNumber |
hasChoice |
software | healthy | backend/src/modules/questions/questions.service.ts:hasChoice |
uploadSingleImage |
software | healthy | backend/src/modules/uploads/uploads.router.ts:uploadSingleI… |
fakeFile |
software | healthy | backend/src/modules/uploads/uploads.test.ts:fakeFile |
serviceWithFirstSession |
software | healthy | backend/src/modules/sessions/sessions.test.ts:serviceWithFi… |
exam |
software | healthy | backend/src/modules/sessions/sessions.test.ts:exam |
repo |
software | healthy | backend/src/modules/admin-users/admin-users.test.ts:repo |
isTeacher |
software | healthy | backend/src/modules/exams/exam-ownership.ts:isTeacher |
assertExamOwnership |
software | healthy | backend/src/modules/exams/exam-ownership.ts:assertExamOwner… |
assertQuestionOwnership |
software | healthy | backend/src/modules/exams/exam-ownership.ts:assertQuestionO… |
setSocketServer |
software | healthy | backend/src/config/socket.ts:setSocketServer |
getSocketServer |
software | healthy | backend/src/config/socket.ts:getSocketServer |
getMonitoringNamespace |
software | healthy | backend/src/config/socket.ts:getMonitoringNamespace |
loadKey |
software | healthy | backend/src/config/jwt.ts:loadKey |
commonOptions |
software | healthy | backend/src/config/jwt.ts:commonOptions |
signAccessToken |
software | healthy | backend/src/config/jwt.ts:signAccessToken |
signRefreshToken |
software | healthy | backend/src/config/jwt.ts:signRefreshToken |
verifyAccessToken |
software | healthy | backend/src/config/jwt.ts:verifyAccessToken |
verifyRefreshToken |
software | healthy | backend/src/config/jwt.ts:verifyRefreshToken |
main |
software | healthy | backend/prisma/seed.ts:main |
⚙ requestId |
software | healthy | backend/src/app.ts |
⚙ compression( |
software | healthy | backend/src/app.ts |
⚙ helmet( |
software | healthy | backend/src/app.ts |
⚙ cors |
software | healthy | backend/src/app.ts |
⚙ express.json |
software | healthy | backend/src/app.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
memory |
software | healthy | memory |
legal |
software | healthy | legal |
nginx |
software | healthy | nginx |
backend |
software | healthy | backend |
src |
software | healthy | backend/src |
utils |
software | healthy | backend/src/utils |
types |
software | healthy | backend/src/types |
middlewares |
software | healthy | backend/src/middlewares |
modules |
software | healthy | backend/src/modules |
monitoring |
software | healthy | backend/src/modules/monitoring |
questions |
software | healthy | backend/src/modules/questions |
uploads |
software | healthy | backend/src/modules/uploads |
sessions |
software | healthy | backend/src/modules/sessions |
auth |
software | healthy | backend/src/modules/auth |
students |
software | healthy | backend/src/modules/students |
admin-users |
software | healthy | backend/src/modules/admin-users |
exams |
software | healthy | backend/src/modules/exams |
results |
software | healthy | backend/src/modules/results |
answers |
software | healthy | backend/src/modules/answers |
config |
software | healthy | backend/src/config |
prisma |
software | healthy | backend/prisma |
migrations |
software | healthy | backend/prisma/migrations |
20260612000000_admin_four_roles |
software | healthy | backend/prisma/migrations/20260612000000_admin_four_roles |
20260611000000_add_question_choice_image_url |
software | healthy | backend/prisma/migrations/20260611000000_add_question_choic… |
scripts |
software | healthy | scripts |
android |
software | healthy | android |
app |
software | healthy | android/app |
src |
software | healthy | android/app/src |
main |
software | healthy | android/app/src/main |
kotlin |
software | healthy | android/app/src/main/kotlin |
com |
software | healthy | android/app/src/main/kotlin/com |
example |
software | healthy | android/app/src/main/kotlin/com/example |
taw_exam |
software | healthy | android/app/src/main/kotlin/com/example/taw_exam |
web |
software | healthy | web |
ios |
software | healthy | ios |
Runner |
software | healthy | ios/Runner |
Assets.xcassets |
software | healthy | ios/Runner/Assets.xcassets |
LaunchImage.imageset |
software | healthy | ios/Runner/Assets.xcassets/LaunchImage.imageset |
AppIcon.appiconset |
software | healthy | ios/Runner/Assets.xcassets/AppIcon.appiconset |
RunnerTests |
software | healthy | ios/RunnerTests |
| Label | Layer | Status | Path |
|---|---|---|---|
USE /uploads |
api | healthy | backend/src/app.ts |
GET /health |
api | healthy | backend/src/app.ts |
GET /active-sessions |
api | healthy | backend/src/modules/monitoring/monitoring.router.ts |
GET /exams/:id/questions |
api | healthy | backend/src/modules/questions/questions.router.ts |
POST /exams/:id/questions |
api | healthy | backend/src/modules/questions/questions.router.ts |
PUT /questions/:id |
api | healthy | backend/src/modules/questions/questions.router.ts |
DELETE /questions/:id |
api | healthy | backend/src/modules/questions/questions.router.ts |
POST /exams/:id/questions/validate |
api | healthy | backend/src/modules/questions/questions.router.ts |
POST /exams/:id/questions/import |
api | healthy | backend/src/modules/questions/questions.router.ts |
GET /exams/:id/questions/template |
api | healthy | backend/src/modules/questions/questions.router.ts |
POST /question-image |
api | healthy | backend/src/modules/uploads/uploads.router.ts |
GET /:id/session |
api | healthy | backend/src/modules/sessions/sessions.router.ts |
GET /exams/:id/sessions |
api | healthy | backend/src/modules/sessions/sessions.router.ts |
POST /sessions/:id/extend |
api | healthy | backend/src/modules/sessions/sessions.router.ts |
POST /sessions/:id/force-end |
api | healthy | backend/src/modules/sessions/sessions.router.ts |
POST /student/login |
api | healthy | backend/src/modules/auth/auth.router.ts |
POST /refresh |
api | healthy | backend/src/modules/auth/auth.router.ts |
POST /logout |
api | healthy | backend/src/modules/auth/auth.router.ts |
POST /login |
api | healthy | backend/src/modules/auth/auth.router.ts |
GET /me |
api | healthy | backend/src/modules/auth/auth.router.ts |
GET / |
api | healthy | backend/src/modules/students/students.router.ts |
POST / |
api | healthy | backend/src/modules/students/students.router.ts |
PUT /:id |
api | healthy | backend/src/modules/students/students.router.ts |
DELETE /:id |
api | healthy | backend/src/modules/students/students.router.ts |
POST /bulk-delete |
api | healthy | backend/src/modules/students/students.router.ts |
POST /import |
api | healthy | backend/src/modules/students/students.router.ts |
GET /export |
api | healthy | backend/src/modules/students/students.router.ts |
POST /:id/reset-password |
api | healthy | backend/src/modules/students/students.router.ts |
GET /current |
api | healthy | backend/src/modules/exams/exams.router.ts |
GET /available |
api | healthy | backend/src/modules/exams/exams.router.ts |
GET /history |
api | healthy | backend/src/modules/exams/exams.router.ts |
GET /:id/questions |
api | healthy | backend/src/modules/exams/exams.router.ts |
POST /:id/submit |
api | healthy | backend/src/modules/exams/exams.router.ts |
POST /:id/duplicate |
api | healthy | backend/src/modules/exams/exams.router.ts |
PUT /:id/status |
api | healthy | backend/src/modules/exams/exams.router.ts |
GET /:id/result |
api | healthy | backend/src/modules/results/results.router.ts |
GET /:id/results |
api | healthy | backend/src/modules/results/results.router.ts |
GET /:id/results/list |
api | healthy | backend/src/modules/results/results.router.ts |
GET /:id/results/export |
api | healthy | backend/src/modules/results/results.router.ts |
POST /sync |
api | healthy | backend/src/modules/answers/answers.router.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
AppError |
software | healthy | backend/src/utils/app-error.ts:AppError |
AuditLogService |
software | healthy | backend/src/utils/audit-log.service.ts:AuditLogService |
MonitoringRepository |
software | healthy | backend/src/modules/monitoring/monitoring.repository.ts:Mon… |
MonitoringService |
software | healthy | backend/src/modules/monitoring/monitoring.service.ts:Monito… |
MonitoringController |
software | healthy | backend/src/modules/monitoring/monitoring.controller.ts:Mon… |
QuestionsController |
software | healthy | backend/src/modules/questions/questions.controller.ts:Quest… |
QuestionsRepository |
software | healthy | backend/src/modules/questions/questions.repository.ts:Quest… |
QuestionsService |
software | healthy | backend/src/modules/questions/questions.service.ts:Question… |
UploadsController |
software | healthy | backend/src/modules/uploads/uploads.controller.ts:UploadsCo… |
UploadsService |
software | healthy | backend/src/modules/uploads/uploads.service.ts:UploadsServi… |
SessionsService |
software | healthy | backend/src/modules/sessions/sessions.service.ts:SessionsSe… |
SessionsRepository |
software | healthy | backend/src/modules/sessions/sessions.repository.ts:Session… |
SessionsController |
software | healthy | backend/src/modules/sessions/sessions.controller.ts:Session… |
AuthRepository |
software | healthy | backend/src/modules/auth/auth.repository.ts:AuthRepository |
AuthController |
software | healthy | backend/src/modules/auth/auth.controller.ts:AuthController |
AuthService |
software | healthy | backend/src/modules/auth/auth.service.ts:AuthService |
StudentsRepository |
software | healthy | backend/src/modules/students/students.repository.ts:Student… |
StudentsService |
software | healthy | backend/src/modules/students/students.service.ts:StudentsSe… |
StudentsController |
software | healthy | backend/src/modules/students/students.controller.ts:Student… |
AdminUsersService |
software | healthy | backend/src/modules/admin-users/admin-users.service.ts:Admi… |
AdminUsersRepository |
software | healthy | backend/src/modules/admin-users/admin-users.repository.ts:A… |
AdminUsersController |
software | healthy | backend/src/modules/admin-users/admin-users.controller.ts:A… |
ExamsController |
software | healthy | backend/src/modules/exams/exams.controller.ts:ExamsControll… |
ExamsService |
software | healthy | backend/src/modules/exams/exams.service.ts:ExamsService |
ExamsRepository |
software | healthy | backend/src/modules/exams/exams.repository.ts:ExamsReposito… |
ResultsRepository |
software | healthy | backend/src/modules/results/results.repository.ts:ResultsRe… |
ResultsController |
software | healthy | backend/src/modules/results/results.controller.ts:ResultsCo… |
ResultsService |
software | healthy | backend/src/modules/results/results.service.ts:ResultsServi… |
AnswersController |
software | healthy | backend/src/modules/answers/answers.controller.ts:AnswersCo… |
AnswersRepository |
software | healthy | backend/src/modules/answers/answers.repository.ts:AnswersRe… |
AnswersService |
software | healthy | backend/src/modules/answers/answers.service.ts:AnswersServi… |
| Label | Layer | Status | Path |
|---|---|---|---|
private_key::.env.example |
security | healthy | .env.example |
private_key::.env.example |
security | healthy | .env.example |
private_key::backend/jest.setup.cjs |
security | healthy | backend/jest.setup.cjs |
private_key::backend/jest.setup.cjs |
security | healthy | backend/jest.setup.cjs |
password_literal::backend/src/modules/admin-users/admin-use… |
security | healthy | backend/src/modules/admin-users/admin-users.test.ts |
password_literal::backend/src/modules/admin-users/admin-use… |
security | healthy | backend/src/modules/admin-users/admin-users.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::backend/src/middlewares/auth.ts |
security | healthy | backend/src/middlewares/auth.ts |
auth::backend/src/config/jwt.ts |
security | healthy | backend/src/config/jwt.ts |
auth::README.md |
security | healthy | README.md |
auth::backend/src/modules/monitoring/monitoring.service.ts |
security | healthy | backend/src/modules/monitoring/monitoring.service.ts |
auth::legal/privacy-policy.html |
security | healthy | legal/privacy-policy.html |
auth::backend/src/modules/auth/auth.service.ts |
security | healthy | backend/src/modules/auth/auth.service.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::nginx/Dockerfile |
hardware | healthy | nginx/Dockerfile |
image::backend/Dockerfile |
hardware | healthy | backend/Dockerfile |
postgres |
hardware | healthy | docker-compose.yml |
redis |
hardware | healthy | docker-compose.yml |
backend |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
postgres |
data | healthy | .env.example |
redis |
data | healthy | .env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3003 |
network | healthy | .env.example |
port:80 |
network | healthy | nginx/Dockerfile |
port:3000 |
network | healthy | backend/jest.setup.cjs |
| Label | Layer | Status | Path |
|---|---|---|---|
migration.sql |
data | healthy | backend/prisma/migrations/20260612000000_admin_four_roles/m… |
migration.sql |
data | healthy | backend/prisma/migrations/20260611000000_add_question_choic… |
| Label | Layer | Status | Path |
|---|---|---|---|
10.0.2.2 |
network | healthy | README.md |
127.0.0.1 |
network | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
ahmedhmmad__tawexam |
software | healthy | /data/fable5_failed_archive/ahmedhmmad__tawexam |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | docker-compose.prod.yml |
This page is publicly accessible at:
https://repobility.com/scan/2aacdba0-2c7a-4a17-9711-87b7b1dd610e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/2aacdba0-2c7a-4a17-9711-87b7b1dd610e/
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.