Bops
AI 봇 팀이 업무 운영을 담당, 메일·파이프라인·청구·보고서 관리, 각각 컴퓨터·이메일·전화번호 보유, 모든 정보를 기억
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Platformă SaaS multi-tenant: ONG-urile își fac cont și primesc acces la un CRM complet și un set de instrumente de fundraising (rapoarte, newsletter, contracte de sponsorizare/D177, pagini publice de strângere de fonduri cu donații prin Stripe), pe bază de abonament lunar. Platforma e funcțională de cap la coadă, live la fundraising-academy-one.vercel.app, cu izolare de tenant prin RLS (set_config transacțional, NU query-uri globale).README 전문 보기 ↗
Platformă SaaS multi-tenant: ONG-urile își fac cont și primesc acces la un CRM complet și un set de instrumente de fundraising (rapoarte, newsletter, contracte de sponsorizare/D177, pagini publice de strângere de fonduri cu donații prin Stripe), pe bază de abonament lunar.
Platforma e funcțională de cap la coadă, live la
fundraising-academy-one.vercel.app, cu izolare de tenant prin RLS
(set_config transacțional, NU query-uri globale).
Ce există:
price_data, fără Produse/
Prețuri pre-create în Dashboard) — atât pentru donațiile de pe paginile
publice de campanie, cât și pentru abonamentul ONG-ului la platformă
(checkout + webhook complet: plată reușită, expirare sesiune, reînnoire
abonament, refund/dispută, anulare/schimbare abonament). Fără cheile
Stripe reale completate, checkout-ul arată un mesaj grațios ("Plățile nu
sunt încă activate") în loc să proceseze plăți — vezi mai jos.Ce nu există încă: cont Stripe real (cheile sunt necompletate — singurul pas care mai lipsește ca plățile să fie efectiv procesate) și facturare anuală prin checkout (arătată azi doar informativ, fără flux propriu).
.env.local
(pornește de la .env.example).documentation/rls-setup.sql în SQL Editor-ul acelui proiect
— creează rolurile migrator/app_user și politicile RLS. Notează
parolele generate.DATABASE_URL (rolul app_user) și MIGRATOR_DATABASE_URL
(rolul migrator) în .env.local.npm installnpm run db:push (folosește MIGRATOR_DATABASE_URL din drizzle.config.ts)
ca să creeze tabelele din schemă.rls-setup.sql dacă ai adăugat tabele noi
după primul push (FORCE RLS + politici nu se creează automat de Drizzle).npm run devVezi secțiunea 5 din documentation/rls-setup.sql — creează 2 conturi de
test cu 2 organizații separate și confirmă manual că un query fără
app.current_org_id setat întoarce 0 rânduri, iar cu el setat la org A vezi
DOAR datele din org A.
github.com/office729/fundraising (2026-09-04).
Pe un laptop nou: git clone https://github.com/office729/fundraising.git.NETOPIA_API_KEY, NETOPIA_POS_SIGNATURE,
NETOPIA_PUBLIC_KEY (PEM al POS-ului, pentru verificarea IPN) și
NETOPIA_ENV (sandbox la test, live la producție). În contul Netopia,
URL-ul de notificare (IPN) e https://<domeniu>/api/netopia/ipn — îl trimite
aplicația la fiecare comandă, nu se setează manual. Fiecare plată = o lună de
acces (nu reînnoire automată); organizations.current_period_end decide./api/stripe/webhook/<slug-ul lui>.
Cheile se stochează criptate (AES-256-GCM) cu ORG_SECRETS_KEY din Vercel.0001_netopia_stripe_org (coloane Stripe pe organizations + tabelul
platform_payments) + politicile RLS din scripts/restore-rls.mjs — de aplicat pe
baza de producție înainte de deploy (npm run db:migrate, sau SQL-ul din
src/lib/db/migrations/).lib/billing/packages.ts — pachetele
fixe (trial/start/creștere/impact) includ toate instrumentele, diferă doar
prin cote; planul personalizat diferențiază per instrument, aplicat
efectiv prin orgHasToolAccess.