Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
A multi-tenant web app: every customer company gets its own account that
its users log in to. Inside an account users are invited, given a role and
keep the company profile up to date; billing and features follow in the next steps.Read the full README ↗A multi-tenant web app: every customer company gets its own account that its users log in to. Inside an account users are invited, given a role and keep the company profile up to date; billing and features follow in the next steps.
Organization). En bruger kan være med i flere konti.PLATFORM_ADMIN_EMAILS kan rette i den.PLATFORM_ADMIN_EMAILS. Her oprettes kommende funktioner. De starter slukket (skjult for kunder) og kan tændes for udvalgte konti eller for alle.ANTHROPIC_API_KEY og CRON_SECRET i Vercel.@sparticuz/chromium på Vercel; sæt CHROMIUM_PATH til en lokal Chrome ved udvikling). Kræver ANTHROPIC_API_KEY.HUNTER_API_KEY er sat i Vercel, spørger "Find contact with AI" og "Find missing contacts" også Hunter.io (Domain Search) om navne og e-mails, som virksomhedens hjemmeside ikke viser. Kun tomme felter udfyldes, og hver udstiller spørges højst én gang. Natkørslen bruger ikke Hunter, så credits kun bruges, når en super admin trykker./a/[slug]/billing/checkout) for at indtaste kort og betale. Prisen er pr. bruger: antallet i abonnementet følger kontoens brugere og rettes automatisk, når en bruger kommer til eller bliver fjernet. En ny bruger faktureres og trækkes med det samme for resten af perioden; en fjernet bruger bliver til en kreditering på næste faktura. Stripe sender ændringer til /api/stripe/webhook, som kopierer abonnement og fakturaer til databasen. Kræver STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET og STRIPE_PRICE_ID i Vercel. Konti uden betalt abonnement er spærret: de kan kun åbne Billing, Users og Company profile, indtil Owner har betalt. Platform admins spærres aldrig, og intet spærres, så længe Stripe-nøglerne mangler. Mislykkes en betaling, har kontoen adgang, mens Stripe prøver kortet igen.LOGIN_DEVICE_CHECK=off i Vercel slår koden fra.| Step | What | State |
|---|---|---|
| 1 | Login, accounts, users with roles, invitations | ✅ done |
| 2 | Company profile and primary contact, approved design applied | ✅ done |
| – | Shared directory: exhibition centers (list, search, add, edit, CSV import) | ✅ done |
| – | Shared directory: exhibition organizers (same features) | ✅ done |
| – | Shared directory: trade shows (status follows the dates) | ✅ done |
| – | Shared directory: exhibitors per trade show; trade shows linked to their exhibition center | ✅ done |
| – | Super admin feature control: add upcoming features, switch them on for selected accounts or everyone | ✅ done |
| – | AI trade show finder: reads chosen centers' events pages on the 1st of each month and adds new trade shows | ✅ done |
| 3 | Stripe: subscription via Checkout, customer portal, invoices, webhooks | ✅ this version |
| 4 | Selectable features | data model ready |
Approved in September 2026: white left sidebar with the current page as a solid
blue pill, light grey page, white cards, and the logo blue (#287bbf) as the only
accent colour. Green, amber and red are only used for small status badges. The
tokens live in src/app/globals.css; logo files are in public/brand.
You need Node.js 22 and Docker (for the database).
cp .env.example .env # then set AUTH_SECRET: npx auth secret
docker compose up -d # starts PostgreSQL
npm install
npm run db:migrate # creates the tables
npm run db:seed # adds example features
npm run dev # http://localhost:3000
Other commands: npm test, npm run typecheck, npm run build, npm run db:studio (browse the database).
This is the beginning of the README. Read the rest at the original. Read the full README ↗