https://github.com/yuzenchen/petsnack-backend
· scanned 2026-06-16 01:09 UTC (2 months, 1 week ago)
99 raw signals (0 security + 99 graph)
Last scanned 2 months, 1 week ago · v1 · 89 actionable findings from 1 signal source. 10 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 428 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 |
|---|---|---|---|
makeAdmin |
software | healthy | tests/helpers.js:makeAdmin |
makeDealer |
software | healthy | tests/helpers.js:makeDealer |
makeCustomer |
software | healthy | tests/helpers.js:makeCustomer |
seedBasicData |
software | healthy | tests/helpers.js:seedBasicData |
fields |
software | healthy | tests/checkout-validation.test.js:fields |
buildApp |
software | healthy | src/app.js:buildApp |
start |
software | healthy | src/server.js:start |
shutdown |
software | healthy | src/server.js:shutdown |
syncItemsFromSpecs |
software | healthy | src/models/Bundle.js:syncItemsFromSpecs |
connectDB |
software | healthy | src/config/db.js:connectDB |
disconnectDB |
software | healthy | src/config/db.js:disconnectDB |
getConnectionState |
software | healthy | src/config/db.js:getConnectionState |
handler |
software | healthy | src/middleware/rateLimit.js:handler |
noop |
software | healthy | src/middleware/rateLimit.js:noop |
verifyToken |
software | healthy | src/middleware/auth.js:verifyToken |
signToken |
software | healthy | src/middleware/auth.js:signToken |
requireAuth |
software | healthy | src/middleware/auth.js:requireAuth |
requireRole |
software | healthy | src/middleware/auth.js:requireRole |
optionalAuth |
software | healthy | src/middleware/auth.js:optionalAuth |
notFoundHandler |
software | healthy | src/middleware/errorHandler.js:notFoundHandler |
errorHandler |
software | healthy | src/middleware/errorHandler.js:errorHandler |
validate |
software | healthy | src/middleware/validate.js:validate |
makeMockModel |
software | healthy | src/scripts/test-scheduled-items.js:makeMockModel |
matchFilter |
software | healthy | src/scripts/test-scheduled-items.js:matchFilter |
t |
software | healthy | src/scripts/test-scheduled-items.js:t |
makeMockCatalogModel |
software | healthy | src/scripts/test-coupon-checkout.js:makeMockCatalogModel |
thenable |
software | healthy | src/scripts/test-coupon-checkout.js:thenable |
t |
software | healthy | src/scripts/test-coupon-checkout.js:t |
matchFilter |
software | healthy | src/scripts/test-type-migration.js:matchFilter |
thenable |
software | healthy | src/scripts/test-type-migration.js:thenable |
t |
software | healthy | src/scripts/test-type-migration.js:t |
t |
software | healthy | src/scripts/test-bank-transfer.js:t |
withSave |
software | healthy | src/scripts/test-variants-admin.js:withSave |
t |
software | healthy | src/scripts/test-variants-admin.js:t |
getNested |
software | healthy | src/scripts/test-myorders-filter.js:getNested |
matchFilter |
software | healthy | src/scripts/test-myorders-filter.js:matchFilter |
t |
software | healthy | src/scripts/test-myorders-filter.js:t |
makeRes |
software | healthy | src/scripts/test-category-meta.js:makeRes |
t |
software | healthy | src/scripts/test-category-meta.js:t |
t |
software | healthy | src/scripts/test-product-import.js:t |
deepClone |
software | healthy | src/scripts/test-variants.js:deepClone |
thenable |
software | healthy | src/scripts/test-variants.js:thenable |
subQty |
software | healthy | src/scripts/test-variants.js:subQty |
reset |
software | healthy | src/scripts/test-variants.js:reset |
t |
software | healthy | src/scripts/test-variants.js:t |
thenable |
software | healthy | src/scripts/test-checkout-linepay-coupon.js:thenable |
mockCatalog |
software | healthy | src/scripts/test-checkout-linepay-coupon.js:mockCatalog |
t |
software | healthy | src/scripts/test-checkout-linepay-coupon.js:t |
UserCtor |
software | healthy | src/scripts/test-customer-auth.js:UserCtor |
t |
software | healthy | src/scripts/test-customer-auth.js:t |
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 |
package.json |
software | healthy | package.json |
Dockerfile |
software | healthy | Dockerfile |
render.yaml |
software | healthy | render.yaml |
package-lock.json |
software | healthy | package-lock.json |
docker-compose.prod.yml |
software | healthy | docker-compose.prod.yml |
.env.example |
software | healthy | .env.example |
DEPLOY.md |
software | healthy | DEPLOY.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
orders.test.js |
software | healthy | tests/orders.test.js |
setup.js |
software | healthy | tests/setup.js |
helpers.js |
software | healthy | tests/helpers.js |
admin.test.js |
software | healthy | tests/admin.test.js |
admin-members.test.js |
software | healthy | tests/admin-members.test.js |
site-content.test.js |
software | healthy | tests/site-content.test.js |
stock.test.js |
software | healthy | tests/stock.test.js |
health.test.js |
software | healthy | tests/health.test.js |
oauth.test.js |
software | healthy | tests/oauth.test.js |
order-management.test.js |
software | healthy | tests/order-management.test.js |
pricing.test.js |
software | healthy | tests/pricing.test.js |
auth.test.js |
software | healthy | tests/auth.test.js |
auth-register.test.js |
software | healthy | tests/auth-register.test.js |
checkout-validation.test.js |
software | healthy | tests/checkout-validation.test.js |
catalog.test.js |
software | healthy | tests/catalog.test.js |
dependabot.yml |
software | healthy | .github/dependabot.yml |
ci.yml |
software | healthy | .github/workflows/ci.yml |
app.js |
software | healthy | src/app.js |
server.js |
software | healthy | src/server.js |
Coupon.js |
software | healthy | src/models/Coupon.js |
Addon.js |
software | healthy | src/models/Addon.js |
SiteContent.js |
software | healthy | src/models/SiteContent.js |
Product.js |
software | healthy | src/models/Product.js |
CategoryMeta.js |
software | healthy | src/models/CategoryMeta.js |
Bundle.js |
software | healthy | src/models/Bundle.js |
Order.js |
software | healthy | src/models/Order.js |
User.js |
software | healthy | src/models/User.js |
db.js |
software | healthy | src/config/db.js |
index.js |
software | healthy | src/config/index.js |
rateLimit.js |
software | healthy | src/middleware/rateLimit.js |
auth.js |
software | healthy | src/middleware/auth.js |
errorHandler.js |
software | healthy | src/middleware/errorHandler.js |
validate.js |
software | healthy | src/middleware/validate.js |
test-scheduled-items.js |
software | healthy | src/scripts/test-scheduled-items.js |
test-coupon-checkout.js |
software | healthy | src/scripts/test-coupon-checkout.js |
test-type-migration.js |
software | healthy | src/scripts/test-type-migration.js |
test-bank-transfer.js |
software | healthy | src/scripts/test-bank-transfer.js |
test-variants-admin.js |
software | healthy | src/scripts/test-variants-admin.js |
test-myorders-filter.js |
software | healthy | src/scripts/test-myorders-filter.js |
test-category-meta.js |
software | healthy | src/scripts/test-category-meta.js |
test-product-import.js |
software | healthy | src/scripts/test-product-import.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | src/app.js |
USE /api/v1 |
api | healthy | src/app.js |
POST /foo |
api | healthy | src/middleware/validate.js |
GET / |
api | healthy | src/routes/v1/addon.js |
POST /checkout |
api | healthy | src/routes/v1/payment.js |
GET /linepay/confirm |
api | healthy | src/routes/v1/payment.js |
GET /linepay/cancel |
api | healthy | src/routes/v1/payment.js |
GET /bank-info |
api | healthy | src/routes/v1/payment.js |
POST /refund/:orderId |
api | healthy | src/routes/v1/payment.js |
GET /bundles |
api | healthy | src/routes/v1/admin.js |
POST /bundles |
api | healthy | src/routes/v1/admin.js |
PUT /bundles/:bundleId |
api | healthy | src/routes/v1/admin.js |
DELETE /bundles/:bundleId |
api | healthy | src/routes/v1/admin.js |
GET /addons |
api | healthy | src/routes/v1/admin.js |
POST /addons |
api | healthy | src/routes/v1/admin.js |
PUT /addons/:addonId |
api | healthy | src/routes/v1/admin.js |
DELETE /addons/:addonId |
api | healthy | src/routes/v1/admin.js |
PATCH /orders/:orderId/status |
api | healthy | src/routes/v1/admin.js |
PATCH /orders/:orderId/tracking |
api | healthy | src/routes/v1/admin.js |
POST /orders/:orderId/refund |
api | healthy | src/routes/v1/admin.js |
POST /orders/:orderId/mark-paid |
api | healthy | src/routes/v1/admin.js |
GET /products |
api | healthy | src/routes/v1/admin.js |
POST /products/import |
api | healthy | src/routes/v1/admin.js |
PATCH /products/:productId |
api | healthy | src/routes/v1/admin.js |
DELETE /products/:productId |
api | healthy | src/routes/v1/admin.js |
POST /products/bulk-type |
api | healthy | src/routes/v1/admin.js |
PATCH /products/:productId/stock |
api | healthy | src/routes/v1/admin.js |
PUT /products/:productId/variants |
api | healthy | src/routes/v1/admin.js |
PATCH /products/:productId/variants/:variantIndex/stock |
api | healthy | src/routes/v1/admin.js |
POST /cleanup |
api | healthy | src/routes/v1/admin.js |
PATCH /addons/:addonId/stock |
api | healthy | src/routes/v1/admin.js |
GET /stock/low |
api | healthy | src/routes/v1/admin.js |
GET /members |
api | healthy | src/routes/v1/admin.js |
POST /members/:id/reset-password |
api | healthy | src/routes/v1/admin.js |
PATCH /categories/:key |
api | healthy | src/routes/v1/admin.js |
PATCH /content |
api | healthy | src/routes/v1/admin.js |
GET /coupons |
api | healthy | src/routes/v1/admin.js |
POST /coupons |
api | healthy | src/routes/v1/admin.js |
GET /stats |
api | healthy | src/routes/v1/admin.js |
POST /orders/:orderId/logistics/ecpay |
api | healthy | src/routes/v1/admin.js |
GET /ecpay/map-form |
api | healthy | src/routes/v1/logistics.js |
POST /ecpay/map-callback |
api | healthy | src/routes/v1/logistics.js |
POST /ecpay/callback |
api | healthy | src/routes/v1/logistics.js |
GET /mine |
api | healthy | src/routes/v1/coupon.js |
POST /validate |
api | healthy | src/routes/v1/coupon.js |
POST /login |
api | healthy | src/routes/v1/auth.js |
POST /register |
api | healthy | src/routes/v1/auth.js |
GET /providers |
api | healthy | src/routes/v1/auth.js |
POST /oauth/exchange |
api | healthy | src/routes/v1/auth.js |
GET /me |
api | healthy | src/routes/v1/auth.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/routes/v1/auth.js |
security | healthy | src/routes/v1/auth.js |
auth::src/controllers/authController.js |
security | healthy | src/controllers/authController.js |
auth::README.md |
security | healthy | README.md |
auth::tests/setup.js |
security | healthy | tests/setup.js |
auth::tests/oauth.test.js |
security | healthy | tests/oauth.test.js |
auth::src/config/index.js |
security | healthy | src/config/index.js |
auth::src/middleware/errorHandler.js |
security | healthy | src/middleware/errorHandler.js |
auth::.env.example |
security | healthy | .env.example |
auth::src/scripts/test-customer-auth.js |
security | healthy | src/scripts/test-customer-auth.js |
auth::tests/admin-members.test.js |
security | healthy | tests/admin-members.test.js |
auth::render.yaml |
security | healthy | render.yaml |
auth::src/middleware/auth.js |
security | healthy | src/middleware/auth.js |
auth::src/services/oauthService.js |
security | healthy | src/services/oauthService.js |
auth::tests/auth.test.js |
security | healthy | tests/auth.test.js |
auth::src/models/User.js |
security | healthy | src/models/User.js |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
models |
software | healthy | src/models |
config |
software | healthy | src/config |
middleware |
software | healthy | src/middleware |
scripts |
software | healthy | src/scripts |
utils |
software | healthy | src/utils |
routes |
software | healthy | src/routes |
v1 |
software | healthy | src/routes/v1 |
controllers |
software | healthy | src/controllers |
services |
software | healthy | src/services |
jobs |
software | healthy | src/jobs |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/admin-members.test.js |
security | healthy | tests/admin-members.test.js |
password_literal::tests/auth.test.js |
security | healthy | tests/auth.test.js |
password_literal::tests/auth.test.js |
security | healthy | tests/auth.test.js |
password_literal::tests/auth.test.js |
security | healthy | tests/auth.test.js |
password_literal::tests/auth-register.test.js |
security | healthy | tests/auth-register.test.js |
password_literal::tests/auth-register.test.js |
security | healthy | tests/auth-register.test.js |
password_literal::src/scripts/test-customer-auth.js |
security | healthy | src/scripts/test-customer-auth.js |
password_literal::src/scripts/test-customer-auth.js |
security | healthy | src/scripts/test-customer-auth.js |
password_literal::src/scripts/test-customer-auth.js |
security | healthy | src/scripts/test-customer-auth.js |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
mongodb |
hardware | healthy | docker-compose.yml |
backend |
hardware | healthy | docker-compose.yml |
seed |
hardware | healthy | docker-compose.yml |
mongo-express |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
with |
software | healthy | src/scripts/test-scheduled-items.js:with |
extends |
software | healthy | src/scripts/test-scheduled-items.js:extends |
MockUser |
software | healthy | src/scripts/test-customer-auth.js:MockUser |
ApiError |
software | healthy | src/utils/apiError.js:ApiError |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3001 |
network | healthy | Dockerfile |
port:27017 |
network | healthy | docker-compose.yml |
port:8081 |
network | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
IMAGE_NAME |
cicd | healthy | — |
REGISTRY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
mongodb |
data | healthy | README.md |
redis |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | package-lock.json |
vps::gcp |
hardware | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/ci.yml |
docker |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-1zl7o1_n |
software | healthy | /tmp/repobility-clone-1zl7o1_n |
| Label | Layer | Status | Path |
|---|---|---|---|
test-type-migration.js |
data | healthy | src/scripts/test-type-migration.js |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/6b001faf-7f0a-4834-890a-06aaf6d8cd75/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/6b001faf-7f0a-4834-890a-06aaf6d8cd75/
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.