https://github.com/CobraEV/eventshotapp
· scanned 2026-06-17 01:24 UTC (1 month, 2 weeks ago)
23 raw signals (0 security + 23 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -0.6 (diff) · 21 actionable findings from 1 signal source. 2 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 877 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 |
|---|---|---|---|
refreshPresignedUrls |
software | healthy | scripts/refresh-presigned-urls.ts:refreshPresignedUrls |
proxy |
software | healthy | src/proxy.ts:proxy |
NotFoundPage |
software | healthy | src/app/not-found.tsx:NotFoundPage |
RootLayout |
software | healthy | src/app/layout.tsx:RootLayout |
robots |
software | healthy | src/app/robots.ts:robots |
sitemap |
software | healthy | src/app/sitemap.ts:sitemap |
manifest |
software | healthy | src/app/manifest.ts:manifest |
chunk |
software | healthy | src/app/api/cron/cleanup-photos/route.ts:chunk |
handle |
software | healthy | src/app/api/cron/cleanup-photos/route.ts:handle |
POST |
software | healthy | src/app/api/stripe/webhook/route.ts:POST |
GET |
software | healthy | src/app/api/admin/refresh-urls/route.ts:GET |
sanitizeFilename |
software | healthy | src/app/api/event/[eventId]/download-zip/route.ts:sanitizeF… |
buildFilename |
software | healthy | src/app/api/event/[eventId]/download-zip/route.ts:buildFile… |
GET |
software | healthy | src/app/api/event/[eventId]/download-zip/route.ts:GET |
GET |
software | healthy | src/app/api/slideshow/stream/[eventId]/route.ts:GET |
send |
software | healthy | src/app/api/slideshow/stream/[eventId]/route.ts:send |
GET |
software | healthy | src/app/api/photo/[photoId]/download/route.ts:GET |
EventLayout |
software | healthy | src/app/(event)/event/[eventId]/(default)/layout.tsx:EventL… |
Page |
software | healthy | src/app/(event)/event/[eventId]/(default)/page.tsx:Page |
PageContent |
software | healthy | src/app/(event)/event/[eventId]/(default)/page.tsx:PageCont… |
Page |
software | healthy | src/app/(event)/event/[eventId]/(default)/gallery/page.tsx:… |
PageContent |
software | healthy | src/app/(event)/event/[eventId]/(default)/gallery/page.tsx:… |
Page |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/page.tsx:P… |
PageContent |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/page.tsx:P… |
UploadSuccessPage |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/success/pa… |
Page |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId]/slidesh… |
SlideShow |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId]/slidesh… |
AdminLayout |
software | healthy | src/app/(tenant)/tenant/(default)/layout.tsx:AdminLayout |
AdminEventsPage |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:AdminEventsPage |
DashboardContent |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:DashboardContent |
getDashboardStats |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:getDashboardStats |
EventRow |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:EventRow |
EmptyState |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:EmptyState |
StatCard |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:StatCard |
DashboardSkeleton |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx:DashboardSkeleton |
PaymentCancelPage |
software | healthy | src/app/(tenant)/tenant/(default)/payment/cancel/page.tsx:P… |
PaymentSuccessPage |
software | healthy | src/app/(tenant)/tenant/(default)/payment/success/page.tsx:… |
Page |
software | healthy | src/app/(tenant)/tenant/(default)/event/[eventId]/page.tsx:… |
PageContent |
software | healthy | src/app/(tenant)/tenant/(default)/event/[eventId]/page.tsx:… |
Page |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx:Page |
EventsList |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx:EventsList |
CreateButton |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx:CreateBut… |
EmptyState |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx:EmptyState |
EventsSkeleton |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx:EventsSke… |
AuthLayout |
software | healthy | src/app/(auth)/layout.tsx:AuthLayout |
LoginPage |
software | healthy | src/app/(auth)/login/page.tsx:LoginPage |
PageContent |
software | healthy | src/app/(auth)/login/page.tsx:PageContent |
LoginPage |
software | healthy | src/app/(auth)/register/page.tsx:LoginPage |
RegisterSuccessPage |
software | healthy | src/app/(auth)/register/success/page.tsx:RegisterSuccessPage |
Page |
software | healthy | src/app/(auth)/reset-password/page.tsx:Page |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
prisma.config.ts |
software | healthy | prisma.config.ts |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
README.md |
software | healthy | README.md |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
package.json |
software | healthy | package.json |
biome.json |
software | healthy | biome.json |
docker-entrypoint.sh |
software | healthy | docker-entrypoint.sh |
next.config.ts |
software | healthy | next.config.ts |
components.json |
software | healthy | components.json |
Dockerfile |
software | healthy | Dockerfile |
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
tsconfig.json |
software | healthy | tsconfig.json |
refresh-presigned-urls.ts |
software | healthy | scripts/refresh-presigned-urls.ts |
proxy.ts |
software | healthy | src/proxy.ts |
not-found.tsx |
software | healthy | src/app/not-found.tsx |
layout.tsx |
software | healthy | src/app/layout.tsx |
robots.ts |
software | healthy | src/app/robots.ts |
sitemap.ts |
software | healthy | src/app/sitemap.ts |
manifest.ts |
software | healthy | src/app/manifest.ts |
route.ts |
software | healthy | src/app/api/cron/cleanup-photos/route.ts |
route.ts |
software | healthy | src/app/api/stripe/webhook/route.ts |
route.ts |
software | healthy | src/app/api/admin/refresh-urls/route.ts |
route.ts |
software | healthy | src/app/api/event/[eventId]/download-zip/route.ts |
route.ts |
software | healthy | src/app/api/auth/[...all]/route.ts |
route.ts |
software | healthy | src/app/api/slideshow/stream/[eventId]/route.ts |
route.ts |
software | healthy | src/app/api/photo/[photoId]/download/route.ts |
layout.tsx |
software | healthy | src/app/(event)/event/[eventId]/(default)/layout.tsx |
page.tsx |
software | healthy | src/app/(event)/event/[eventId]/(default)/page.tsx |
page.tsx |
software | healthy | src/app/(event)/event/[eventId]/(default)/gallery/page.tsx |
page.tsx |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/page.tsx |
page.tsx |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/success/pa… |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId]/slidesh… |
layout.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/layout.tsx |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/page.tsx |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/payment/cancel/page.tsx |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/payment/success/page.tsx |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/event/[eventId]/page.tsx |
page.tsx |
software | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx |
layout.tsx |
software | healthy | src/app/(auth)/layout.tsx |
page.tsx |
software | healthy | src/app/(auth)/login/page.tsx |
page.tsx |
software | healthy | src/app/(auth)/register/page.tsx |
page.tsx |
software | healthy | src/app/(auth)/register/success/page.tsx |
page.tsx |
software | healthy | src/app/(auth)/reset-password/page.tsx |
page.tsx |
software | healthy | src/app/(auth)/forgot-password/page.tsx |
layout.tsx |
software | healthy | src/app/(default)/layout.tsx |
page.tsx |
software | healthy | src/app/(default)/page.tsx |
page.tsx |
software | healthy | src/app/(default)/geburtstag/page.tsx |
page.tsx |
software | healthy | src/app/(default)/hochzeit/page.tsx |
page.tsx |
software | healthy | src/app/(default)/firmenanlass/page.tsx |
page.tsx |
software | healthy | src/app/(default)/datenschutz/page.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
src |
software | healthy | src |
app |
software | healthy | src/app |
api |
software | healthy | src/app/api |
cron |
software | healthy | src/app/api/cron |
cleanup-photos |
software | healthy | src/app/api/cron/cleanup-photos |
stripe |
software | healthy | src/app/api/stripe |
webhook |
software | healthy | src/app/api/stripe/webhook |
admin |
software | healthy | src/app/api/admin |
refresh-urls |
software | healthy | src/app/api/admin/refresh-urls |
event |
software | healthy | src/app/api/event |
[eventId] |
software | healthy | src/app/api/event/[eventId] |
download-zip |
software | healthy | src/app/api/event/[eventId]/download-zip |
auth |
software | healthy | src/app/api/auth |
[...all] |
software | healthy | src/app/api/auth/[...all] |
slideshow |
software | healthy | src/app/api/slideshow |
stream |
software | healthy | src/app/api/slideshow/stream |
[eventId] |
software | healthy | src/app/api/slideshow/stream/[eventId] |
photo |
software | healthy | src/app/api/photo |
[photoId] |
software | healthy | src/app/api/photo/[photoId] |
download |
software | healthy | src/app/api/photo/[photoId]/download |
(event) |
software | healthy | src/app/(event) |
event |
software | healthy | src/app/(event)/event |
[eventId] |
software | healthy | src/app/(event)/event/[eventId] |
(default) |
software | healthy | src/app/(event)/event/[eventId]/(default) |
gallery |
software | healthy | src/app/(event)/event/[eventId]/(default)/gallery |
upload |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload |
success |
software | healthy | src/app/(event)/event/[eventId]/(default)/upload/success |
(tenant) |
software | healthy | src/app/(tenant) |
tenant |
software | healthy | src/app/(tenant)/tenant |
(slideshow) |
software | healthy | src/app/(tenant)/tenant/(slideshow) |
event |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event |
[eventId] |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId] |
slideshow |
software | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId]/slidesh… |
(default) |
software | healthy | src/app/(tenant)/tenant/(default) |
payment |
software | healthy | src/app/(tenant)/tenant/(default)/payment |
cancel |
software | healthy | src/app/(tenant)/tenant/(default)/payment/cancel |
success |
software | healthy | src/app/(tenant)/tenant/(default)/payment/success |
event |
software | healthy | src/app/(tenant)/tenant/(default)/event |
[eventId] |
software | healthy | src/app/(tenant)/tenant/(default)/event/[eventId] |
events |
software | healthy | src/app/(tenant)/tenant/(default)/events |
(auth) |
software | healthy | src/app/(auth) |
login |
software | healthy | src/app/(auth)/login |
register |
software | healthy | src/app/(auth)/register |
success |
software | healthy | src/app/(auth)/register/success |
reset-password |
software | healthy | src/app/(auth)/reset-password |
forgot-password |
software | healthy | src/app/(auth)/forgot-password |
(default) |
software | healthy | src/app/(default) |
geburtstag |
software | healthy | src/app/(default)/geburtstag |
hochzeit |
software | healthy | src/app/(default)/hochzeit |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
NotFoundPage |
frontend | healthy | src/app/not-found.tsx |
RootLayout |
frontend | healthy | src/app/layout.tsx |
UploadSuccessPage |
frontend | healthy | src/app/(event)/event/[eventId]/(default)/upload/success/pa… |
PaymentCancelPage |
frontend | healthy | src/app/(tenant)/tenant/(default)/payment/cancel/page.tsx |
PaymentSuccessPage |
frontend | healthy | src/app/(tenant)/tenant/(default)/payment/success/page.tsx |
Page |
frontend | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx |
AuthLayout |
frontend | healthy | src/app/(auth)/layout.tsx |
LoginPage |
frontend | healthy | src/app/(auth)/login/page.tsx |
LoginPage |
frontend | healthy | src/app/(auth)/register/page.tsx |
RegisterSuccessPage |
frontend | healthy | src/app/(auth)/register/success/page.tsx |
Page |
frontend | healthy | src/app/(auth)/reset-password/page.tsx |
ForgotPasswordPage |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
DefaultLayout |
frontend | healthy | src/app/(default)/layout.tsx |
GeburtstagPage |
frontend | healthy | src/app/(default)/geburtstag/page.tsx |
HochzeitPage |
frontend | healthy | src/app/(default)/hochzeit/page.tsx |
FirmenanlassPage |
frontend | healthy | src/app/(default)/firmenanlass/page.tsx |
DatenschutzPage |
frontend | healthy | src/app/(default)/datenschutz/page.tsx |
AGBPage |
frontend | healthy | src/app/(default)/agb/page.tsx |
ImpressumPage |
frontend | healthy | src/app/(default)/impressum/page.tsx |
SmoothScroll |
frontend | healthy | src/components/SmoothScroll.tsx |
AdminNav |
frontend | healthy | src/components/tenant/admin-nav.tsx |
Header |
frontend | healthy | src/components/tenant/header.tsx |
InteractiveGallery |
frontend | healthy | src/components/tenant/event/interactive-gallery.tsx |
QRCodeGenerator |
frontend | healthy | src/components/tenant/event/qr-code-generator.tsx |
SlideshowSettings |
frontend | healthy | src/components/tenant/event/slideshow-settings.tsx |
FooterNav |
frontend | healthy | src/components/landing/footer-nav.tsx |
HeroContainer |
frontend | healthy | src/components/landing/hero-container.tsx |
CtaBg |
frontend | healthy | src/components/landing/cta-bg.tsx |
HowItWorksBg |
frontend | healthy | src/components/landing/how-it-works-bg.tsx |
HeroButtons |
frontend | healthy | src/components/landing/hero-buttons.tsx |
EventHeader |
frontend | healthy | src/components/event/event-header.tsx |
PhotoUploadPresigned |
frontend | healthy | src/components/event/photo-upload-presigned.tsx |
EventGallery |
frontend | healthy | src/components/event/event-gallery.tsx |
EventNav |
frontend | healthy | src/components/event/event-nav.tsx |
EventSlideshow |
frontend | healthy | src/components/event/event-slideshow.tsx |
EventDownloadButton |
frontend | healthy | src/components/event/EventDownloadButton.client.tsx |
RegisterForm |
frontend | healthy | src/components/auth/RegisterForm.tsx |
ResetPasswordPage |
frontend | healthy | src/components/auth/reset-password-form.tsx |
LoginForm |
frontend | healthy | src/components/auth/LoginForm.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
migration.sql |
data | healthy | prisma/migrations/20260102134541_enterprise_zip_pipeline/mi… |
migration.sql |
data | healthy | prisma/migrations/20251213174627_uuids/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20251222144219_add_s3_photo_storage/migra… |
migration.sql |
data | healthy | prisma/migrations/20260131143239_slideshow_sessions_screen_… |
migration.sql |
data | healthy | prisma/migrations/20251222164529_add_event_slideshow_settin… |
migration.sql |
data | healthy | prisma/migrations/20260131133554_add_photo_status/migration… |
migration.sql |
data | healthy | prisma/migrations/20260131134900_slideshow_sessions/migrati… |
migration.sql |
data | healthy | prisma/migrations/20260131121459_make_thumb_required/migrat… |
migration.sql |
data | healthy | prisma/migrations/20260102133651_add_event_zip_cache/migrat… |
migration.sql |
data | healthy | prisma/migrations/20251211181453_nosubdomains/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20260131131442_add_image_metadata/migrati… |
migration.sql |
data | healthy | prisma/migrations/20251222165235_slideshow_enterprise_brand… |
migration.sql |
data | healthy | prisma/migrations/20260131131618_add_image_metadata_req/mig… |
migration.sql |
data | healthy | prisma/migrations/20251223140056_add_stripe_session_id_to_e… |
migration.sql |
data | healthy | prisma/migrations/20251128233908_usertenantrel/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20251224130714_add_invoice_counter_withou… |
migration.sql |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20260102135643_add_zip_progress/migration… |
migration.sql |
data | healthy | prisma/migrations/20260131121144_add_thumb_url/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20251222144830_object_key_photo_unique/mi… |
migration.sql |
data | healthy | prisma/migrations/20260131132728_add_image_metadata_optiona… |
migration.sql |
data | healthy | prisma/migrations/20251224130559_add_invoice_counter/migrat… |
migration.sql |
data | healthy | prisma/migrations/20251223133151_add_stripe_session_id_to_e… |
migration.sql |
data | healthy | prisma/migrations/20260131135101_slideshow_sessions_screen/… |
| Label | Layer | Status | Path |
|---|---|---|---|
/(event)/event/[eventId]/(default) |
frontend | healthy | src/app/(event)/event/[eventId]/(default)/page.tsx |
/(event)/event/[eventId]/(default)/gallery |
frontend | healthy | src/app/(event)/event/[eventId]/(default)/gallery/page.tsx |
/(event)/event/[eventId]/(default)/upload |
frontend | healthy | src/app/(event)/event/[eventId]/(default)/upload/page.tsx |
/(event)/event/[eventId]/(default)/upload/success |
frontend | healthy | src/app/(event)/event/[eventId]/(default)/upload/success/pa… |
/(tenant)/tenant/(slideshow)/event/[eventId]/slideshow |
frontend | healthy | src/app/(tenant)/tenant/(slideshow)/event/[eventId]/slidesh… |
/(tenant)/tenant/(default) |
frontend | healthy | src/app/(tenant)/tenant/(default)/page.tsx |
/(tenant)/tenant/(default)/payment/cancel |
frontend | healthy | src/app/(tenant)/tenant/(default)/payment/cancel/page.tsx |
/(tenant)/tenant/(default)/payment/success |
frontend | healthy | src/app/(tenant)/tenant/(default)/payment/success/page.tsx |
/(tenant)/tenant/(default)/event/[eventId] |
frontend | healthy | src/app/(tenant)/tenant/(default)/event/[eventId]/page.tsx |
/(tenant)/tenant/(default)/events |
frontend | healthy | src/app/(tenant)/tenant/(default)/events/page.tsx |
/(auth)/login |
frontend | healthy | src/app/(auth)/login/page.tsx |
/(auth)/register |
frontend | healthy | src/app/(auth)/register/page.tsx |
/(auth)/register/success |
frontend | healthy | src/app/(auth)/register/success/page.tsx |
/(auth)/reset-password |
frontend | healthy | src/app/(auth)/reset-password/page.tsx |
/(auth)/forgot-password |
frontend | healthy | src/app/(auth)/forgot-password/page.tsx |
/(default) |
frontend | healthy | src/app/(default)/page.tsx |
/(default)/geburtstag |
frontend | healthy | src/app/(default)/geburtstag/page.tsx |
/(default)/hochzeit |
frontend | healthy | src/app/(default)/hochzeit/page.tsx |
/(default)/firmenanlass |
frontend | healthy | src/app/(default)/firmenanlass/page.tsx |
/(default)/datenschutz |
frontend | healthy | src/app/(default)/datenschutz/page.tsx |
/(default)/agb |
frontend | healthy | src/app/(default)/agb/page.tsx |
/(default)/impressum |
frontend | healthy | src/app/(default)/impressum/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
EventSlideshowSettings |
data | healthy | prisma/migrations/20251222164529_add_event_slideshow_settin… |
SlideshowSession |
data | healthy | prisma/migrations/20260131134900_slideshow_sessions/migrati… |
user |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
session |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
account |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
verification |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
Tenant |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
Event |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
Photo |
data | healthy | prisma/migrations/20251123194319_init/migration.sql |
InvoiceCounter |
data | healthy | prisma/migrations/20251224130559_add_invoice_counter/migrat… |
| Label | Layer | Status | Path |
|---|---|---|---|
mongodb |
data | healthy | pnpm-lock.yaml |
postgres |
data | healthy | pnpm-lock.yaml |
redis |
data | healthy | pnpm-lock.yaml |
postgresql |
data | healthy | src/lib/auth.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | Dockerfile |
port:64 |
network | healthy | pnpm-lock.yaml |
port:16 |
network | healthy | pnpm-lock.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
CobraEV__eventshotapp |
software | healthy | /data/fable5_failed_archive/CobraEV__eventshotapp |
| Label | Layer | Status | Path |
|---|---|---|---|
bullmq |
data | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::src/actions/add-tenant.ts |
security | healthy | src/actions/add-tenant.ts |
This page is publicly accessible at:
https://repobility.com/scan/7a099306-81ac-462e-be83-c758278e8c75/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/7a099306-81ac-462e-be83-c758278e8c75/
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.