Edge
Get Edge to manage all of your crypto assets. The most secure way to buy, store and trade crypto under your control Accounts Created + 0 MM Assets Supported + 0 Languages Supported 0 Countries Support
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Preventivi professionali in PDF in 60 secondi — un micro-SaaS pronto a incassare.
Chi ha una Partita IVA fa preventivi ogni settimana, di solito con Word o Excel: i calcoli (rivalsa INPS, ritenuta d'acconto, IVA per aliquota, bollo, regime forfettario) sono noiosi e si sbagliano. Preventivissimo li fa in automatico, l'AI scrive le voci, il PDF esce pulito con logo e colore del professionista.
Modello di business
| Piano | Prezzo | Cosa sblocca |
|---|---|---|
| Gratis | 0 € | Preventivi illimitati nel browser, PDF con filigrana "ANTEPRIMA" |
| Singolo | 4,90 € una tantum | PDF pulito di quel preventivo, riscaricabile dopo le modifiche |
| Pro | 9 €/mese o 59 €/anno | PDF illimitati, portale Stripe per gestire l'abbonamento |
Nessun database per gli utenti, nessun account: i preventivi vivono nel browser, Stripe è l'unica fonte di verità per i pagamenti e il server rilascia token firmati (HMAC) come prova di acquisto. L'unico stato lato server è opzionale: i preventivi inviati al cliente con link e accettazione online, salvati in un Redis (Upstash) con scadenza a 12 mesi. Costi fissi: solo l'hosting (Vercel Pro 20 $/mese per uso commerciale, oppure Railway/Fly.io/un VPS da pochi euro) più le commissioni Stripe per transazione.
sk_test_… per provare, sk_live_… per incassare).STRIPE_SECRET_KEY e fai deploy. Non serve altro: l'URL pubblico viene rilevato da solo.4242 4242 4242 4242: crea un preventivo, clicca Scarica PDF, paga, torna sulla pagina di successo e il PDF pulito si scarica da solo.sk_live_… e compila BUSINESS_* e SUPPORT_EMAIL (compaiono nel footer e nelle pagine legali).Opzionali ma consigliati:
UPSTASH_REDIS_REST_URL/TOKEN vengono iniettate da Vercel.ANTHROPIC_API_KEY → attiva Bozza con AI (descrivi il lavoro → voci, prezzi e condizioni). Costo per bozza nell'ordine dei centesimi; AI_DAILY_LIMIT limita la spesa.APIFY_TOKEN oppure OPENAPI_COMPANY_TOKEN → attiva la ricerca nel Registro Imprese nel campo cliente: la scelta di un'impresa compila tutti i dati (P. IVA, codice fiscale, indirizzo, CAP, città, provincia, codice SDI, PEC quando disponibile). Con Apify (actor jungle_synthesizer/italy-registroimprese-bilanci-scraper, piano Free da 5 $/mese senza carta, ~0,03 $ a ricerca) compare un pulsante "Cerca nel Registro Imprese" e ogni ricerca è un run di qualche decina di secondi; con openapi.com (wallet prepagato, ricarica minima 50 €, ~2 centesimi a cliente) i suggerimenti arrivano mentre si scrive. COMPANY_LOOKUP sceglie il provider quando ci sono entrambi i token, COMPANY_LOOKUP_DAILY_LIMIT limita la spesa, COMPANY_LOOKUP=mock prova la funzione in locale senza token.RESEND_API_KEY → recupero della chiave Pro via email ("ho perso la chiave").NEXT_PUBLIC_PLAUSIBLE_DOMAIN → statistiche senza cookie.STRIPE_PRICE_* → usa Prezzi creati nel dashboard Stripe invece di quelli ad-hoc.Tutte le variabili sono documentate in .env.example.
npm install
cp .env.example .env.local # compila almeno STRIPE_SECRET_KEY per provare i pagamenti
npm run dev # http://localhost:3000
npm test # calcoli fiscali, token di licenza, rendering PDF
npm run lint && npm run typecheck
npm run build && npm start # build di produzione
Per i pagamenti in locale non servono webhook: la pagina /success verifica la sessione Checkout direttamente con l'API di Stripe. Per provare Invia al cliente in locale usa SHARE_STORE=memory (store in memoria, si svuota al riavvio).
Browser (localStorage) Server (Next.js route handlers, stateless)
┌─────────────────────────┐ POST /api/pdf {quote, unlock|license} ┌─────────────────────────┐
│ preventivi, profilo, │ ───────────────────────────────────────▶ │ zod → calcoli → react-pdf│
│ chiave Pro │ ◀─────────────────────────────────────── │ filigrana se non pagato │
└─────────────────────────┘ application/pdf └─────────────────────────┘
│ POST /api/checkout {plan, docId} │
▼ ▼
Stripe Checkout ──▶ /success?session_id=… ──▶ GET /api/checkout/verify ──▶ token HMAC
(single: legato al docId · pro: valido fino a fine periodo)
docId), per sempre, anche dopo modifiche./api/license/refresh, che controlla lo stato dell'abbonamento su Stripe. Disdetta → nessun rinnovo./api/license/recover cerca l'email tra i clienti Stripe con abbonamento attivo e invia una nuova chiave (risposta identica in ogni caso: niente enumerazione di email)./api/share salva uno snapshot del preventivo pagato in Redis con un id pubblico e una chiave proprietario; /p/<id> mostra il preventivo, il PDF pulito e i pulsanti Accetta/Rifiuta; la decisione registra nome, nota, data e un hash giornaliero dell'IP e avvisa il mittente via email (Resend)./preventivo/<slug>): 20 modelli con contenuti unici e voci precompilate che si aprono nel builder con /app?template=<slug>; /preventivo-ai presenta la bozza con AI./api/company/search?q=, /api/company/run/<id>, /api/company/<id>): due provider dietro src/lib/company.ts. Apify: la ricerca avvia un run dell'actor e risponde con il suo id, il browser fa polling finché i record arrivano, ogni record porta già la scheda completa. openapi.com: autocomplete con arricchimento name mentre si scrive e una chiamata IT-start alla scelta. In entrambi i casi risposte in cache in memoria, rate limit per IP e tetto giornaliero di chiamate a pagamento.src/
app/ pagine (landing, /app, /success, /privacy, /termini) e API in app/api/*
components/ UI: builder/*, QuotePreview (gemello HTML del PDF), Landing, …
lib/quote/ modello, calcoli (calc.ts), schema zod, etichette documento it/en
lib/pdf/ documento react-pdf + sanitizzazione caratteri
lib/stripe.ts Checkout, verifica sessione, abbonamenti, portale
lib/share.ts link al cliente e accettazione (store.ts: Upstash Redis o memoria)
lib/professions.ts modelli e contenuti delle pagine per professione
lib/license.ts token HMAC (single/pro)
lib/ai.ts bozza con Claude (output strutturato via zod)
lib/i18n/ dizionari UI it/en
tests/ vitest
Sconti di riga e globale · IVA per aliquota (22/10/5/4/0) · rivalsa INPS 4% (soggetta a IVA e a ritenuta) · ritenuta d'acconto 20% (su imponibile + rivalsa, mai sull'IVA) · imposta di bollo 2 € sugli importi esenti > 77,47 € · regime forfettario (IVA 0, niente ritenuta, dicitura L. 190/2014) · acconto in percentuale. Tutto coperto da test in tests/calc.test.ts.
La checklist operativa (SEO, canali, prezzi, metriche) è in docs/LAUNCH.md; l'analisi dei concorrenti e le scelte di posizionamento in docs/COMPETITORS.md.
Codice proprietario — tutti i diritti riservati.