/home/techb158/balavpn.abdallabala.com
NameSizeModeActions
.git/-0755rm
.github/-0755rm
.next/-0777rm
.well-known/-0755rm
1klofwn/-0755rm
1raugnf/-0755rm
ajleogk/-0755rm
aysmzhd/-0755rm
blxsenk/-0755rm
bsahcio/-0755rm
cbkzwlq/-0755rm
cgi-bin/-0755rm
cjhedua/-0755rm
ctfasor/-0755rm
cwlofhs/-0755rm
deploy/-0777rm
dkvumhc/-0755rm
dnotelh/-0755rm
docs/-0777rm
ebz1jgc/-0755rm
elhajuw/-0755rm
emnbsuk/-0755rm
ezdakum/-0755rm
ezrwsg1/-0755rm
frkiwnx/-0755rm
gfxpuyr/-0755rm
gqefxrw/-0755rm
gysmj1q/-0755rm
h1tkajx/-0755rm
hbzkqvg/-0755rm
hljqycb/-0755rm
hvazry1/-0755rm
imdxybr/-0755rm
inhyord/-0755rm
jmavuph/-0755rm
jmlbtie/-0755rm
jmvybrk/-0755rm
kfnubsl/-0755rm
kxyjado/-0755rm
lpqceyz/-0755rm
lqacmpi/-0755rm
mqsfnlw/-0755rm
mtfodjp/-0755rm
mxreav1/-0755rm
ne1uwzb/-0755rm
ngspxkb/-0755rm
nijumbd/-0755rm
njpakor/-0755rm
node_modules/-0777rm
nqedwgj/-0755rm
nqoesuz/-0755rm
odakinj/-0755rm
ogpcq1y/-0755rm
ojyauew/-0755rm
olqtamv/-0755rm
oxbnaed/-0755rm
oyqfklp/-0755rm
oytkpil/-0755rm
prisma/-0777rm
ptnwyak/-0755rm
public/-0777rm
qajsbwp/-0755rm
qanwdz1/-0755rm
qkxsgtn/-0755rm
qsuof1b/-0755rm
qtloicn/-0755rm
rvwgtdo/-0755rm
rxfwzbq/-0755rm
rxlcpia/-0755rm
saas-app/-0755rm
scripts/-0777rm
sncaobq/-0755rm
src/-0755rm
swdxgrp/-0755rm
tests/-0777rm
tjqile1/-0755rm
trwaeuc/-0755rm
udjtm1q/-0755rm
uirdbwe/-0755rm
vdj1ulw/-0755rm
w1temqj/-0755rm
wydvuip/-0755rm
wynfkci/-0755rm
xpsbyof/-0755rm
xqcyzpj/-0755rm
xrglmwj/-0755rm
xufdmlg/-0755rm
yirxnfc/-0755rm
yjtsopd/-0755rm
yozx1ne/-0755rm
yswbeta/-0755rm
ytwlcvo/-0755rm
yxnvfig/-0755rm
zhg1cmd/-0755rm
.dockerignore1640644editdlrm
.env18080666editdlrm
.env-backup2490666editdlrm
.env.example19620644editdlrm
.env.production14730644editdlrm
.gitignore740644editdlrm
.htaccess2810644editdlrm
deploy.log76560644editdlrm
docker-compose.monitoring.yml2540644editdlrm
docker-compose.prod.yml34000644editdlrm
docker-compose.supabase.yml10430644editdlrm
docker-compose.yml22950644editdlrm
Dockerfile13100644editdlrm
jsconfig.json950644editdlrm
local-server.err.log00666editdlrm
local-server.js491770644editdlrm
local-server.out.log00666editdlrm
mock-oidc-provider.js70160644editdlrm
next.config.mjs2190644editdlrm
package-lock.json2376560644editdlrm
package.json22960644editdlrm
README.md21500644editdlrm
saas-app.zip2231223220644editdlrm
truncate_demo.sql16760644editdlrm
wp-cron-owhg.php16590644editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/README.md (2150B)
# COSMIC AI-Risk SaaS This folder is the commercial SaaS rebuild of the frozen academic prototype in the parent directory. The prototype remains the source reference for COSMIC risk logic and documentation. This app introduces production SaaS boundaries: multi-tenancy, PostgreSQL, Prisma, invite-only onboarding, subscriptions, entitlements, tenant-scoped APIs, Docker deployment, and enterprise extension points. ## Local Setup ```bash cp .env.example .env docker compose up -d postgres npm install npm run db:push npm run db:seed npm run dev ``` Open: ```text http://localhost:8090 ``` ## Architecture - `app/` contains Next.js pages and API route handlers. - `src/domain/` contains dependency-free COSMIC rules that are unit tested. - `src/services/` contains tenant-aware application services. - `src/lib/` contains infrastructure helpers such as Prisma, request context, and tenant guards. - `prisma/schema.prisma` defines the SaaS PostgreSQL model. - `prisma/seed.js` imports the frozen prototype sample data into a demo organization and workspace. ## Current Implementation Stage This is the Phase 1 and Phase 2 foundation: - Organization and workspace tenancy. - Role and membership model. - Invite-only auth contracts. - Project/risk/mitigation/gate/report schemas. - Manual billing and Stripe-ready subscription tables. - COSMIC scoring, dashboard aggregation, gate logic, permission checks, and entitlement rules. - Tenant-scoped API routes for the public interfaces in the SaaS plan. - Docker Compose for VPS deployment. Stripe checkout, SAML/OIDC, and live PM sync are wired as explicit boundaries and database models, but should be completed with real provider credentials before production launch. ## Local fallback mode If npm registry access is slow or blocked, use the dependency-free local fallback harness: ```bash npm run test:local npm run local:fallback ``` Open: ```text http://localhost:8090 ``` This mode uses the SaaS domain modules and imports the frozen prototype seed data into memory. It is for local workflow testing only; the full SaaS app still requires `npm install`, PostgreSQL, and Prisma.