How mahammadafnan/cloudlockr works
CloudLockr is a cloud security posture management platform. Users sign in to the React workspace, inspect cloud assets and security findings, and can trigger scans, view posture/compliance results, download reports, or request AI remediation. The scan engine dispatches provider scanners, evaluates discovered resources against the rules registry, calculates posture, and records scan state. The README documents scheduling and alerting; the sampled scan engine also shows alert dispatch. Controller-to-route wiring and frontend API calls are not fully sampled, so uncertain links are omitted.
Main entry points: scanEngine.js Scan engine · app.js Express API · models Resource, finding, scan models · App.jsx React workspace
Components 26
Web workspace
- React workspace
frontend/src/App.jsx - Security pages
frontend/src/pages - Auth context
frontend/src/context/AuthContext.jsx
API and accounts
- Express API
backend/src/app.js - Auth routes
backend/src/routes/authRoutes.js - Auth controller
backend/src/controllers/authController.js - Dashboard routes
backend/src/routes/dashboardRoutes.js - Dashboard controller
backend/src/controllers/dashboardController.js - Scan routes
backend/src/routes/scanRoutes.js - Scan controller
backend/src/controllers/scanController.js
Security assessment
- Scan engine
backend/src/utils/scanEngine.js - Provider scanners
backend/src/scanners - CIS rule registry
backend/src/rules/index.js - Posture calculator
backend/src/utils/postureCalculator.js - Resource, finding, scan models
backend/src/models - Background scheduler
backend/src/utils/scheduler.js - Alert mailer
backend/src/utils/mailer.js
Reports and remediation
- Report routes
backend/src/routes/reportRoutes.js - PDF reports
backend/src/controllers/reportController.js - AI routes
backend/src/routes/aiRoutes.js - AI remediation
backend/src/controllers/aiController.js
Other components
- Cloud security user
- Cloud providers
- MongoDB
- SMTP service
- Gemini API
Connections 30
- Cloud security user → React workspace: uses
- React workspace → Security pages: routes to
- React workspace → Auth context: provides auth
- React workspace → Express API: requests API
- Express API → Auth routes: mounts
- Express API → Dashboard routes: mounts
- Express API → Scan routes: mounts
- Express API → Report routes: mounts
- Express API → AI routes: mounts
- Auth routes → Auth controller: dispatches
- Auth controller → Resource, finding, scan models: queries
- Dashboard routes → Dashboard controller: dispatches
- Dashboard controller → Resource, finding, scan models: queries
- Scan routes → Scan controller: dispatches
- Scan controller → Scan engine: starts scan
- Background scheduler → Scan engine: triggers scan
- Scan engine → Resource, finding, scan models: reads and writes
- Resource, finding, scan models → MongoDB: persists data
- Scan engine → Provider scanners: dispatches
- Provider scanners → Cloud providers: discovers assets
- Scan engine → CIS rule registry: evaluates resources
- Scan engine → Posture calculator: calculates posture
- Scan engine → Alert mailer: dispatches alerts
- Alert mailer → SMTP service: sends email
- Report routes → PDF reports: dispatches
- PDF reports → Resource, finding, scan models: reads records
- PDF reports → Posture calculator: calculates posture
- AI routes → AI remediation: dispatches
- AI remediation → Resource, finding, scan models: loads finding
- AI remediation → Gemini API: requests remediation