TikTok Shop Video Generator
Turn any viral TikTok video into an ad for your own product in one click. For TikTok Shop sellers and affiliates — no filming, no editing. Free to try.
Find an e-book idea, generate a complete e-book with AI, export a sale-ready PDF and the Etsy listing that goes with it.
MarketingTypeScript · CSSGitHub @celianguillas0-cmdOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗SaaS d'aide à la création d'e-books de formation à vendre sur Etsy : catalogue d'idées (sans API), génération du contenu avec Gemini, export PDF prêt à vendre, kit de fiche Etsy avec vérification de conformité, abonnement Stripe.
npm install
cp .env.example .env.local # puis compléter les clés
npm run dev # http://localhost:3000
Sans clés, l'application tourne en mode démo :
GEMINI_API_KEY → les e-books contiennent un texte d'exemple (toute la chaîne est testable : plan, chapitres, PDF, fiche Etsy) ;STRIPE_SECRET_KEY → l'abonnement s'active sans paiement.La base Postgres (PGlite embarquée dans data/pglite en local, Neon en production) est créée, migrée et remplie automatiquement au premier lancement.
Pour la mise en ligne pas à pas, voir LANCEMENT.md.
/app tableau de bord (quota du mois, e-books, idées suggérées), /app/ebooks tous les e-books, /app/aide FAQ./app/abonnement : offre actuelle et quota, changement d'offre (supérieure : immédiat, différence au prorata payée tout de suite ; inférieure : au prochain renouvellement, quota actuel conservé jusque-là), passage mensuel → annuel, résiliation en fin de période avec motif, réactivation, carte bancaire et factures (portail Stripe)./app/parametres : prénom, nom d'auteur, langue et ton par défaut, changement d'e-mail et de mot de passe, déconnexion des autres appareils, export JSON des données, suppression du compte./mot-de-passe : lien de réinitialisation par e-mail (Resend), valable 1 heure.generations) : supprimer un e-book ne rend pas de crédit./ landing → /quiz (questionnaire adaptatif + thématiques) → idées personnalisées tirées de la base/inscription (acceptation des CGV) → /tarifs (paywall, case de renonciation au droit de rétractation)/app/idees : recherche plein texte, filtres (catégorie, difficulté, potentiel, concurrence, sujets sensibles, favoris), tri/app/nouveau : sujet, public, langue (fr/en/es/de/it), ton, nombre de chapitres, consignes/app/ebooks/[id] : génération chapitre par chapitre (pilotée par le navigateur pour éviter les timeouts serveur), relecture/édition, régénération, couverture (3 styles, palettes), fiche Etsy (titre ≤140, 13 tags ≤20 car., description avec mention IA), 3 visuels de fiche 2000×1500, export PDF A4/A5/US Letterdata/ideas-catalog.mjs (537 idées, 31 catégories). Format d'une ligne : Titre | Public | mots-clés.npm run seed ajoute les nouvelles idées du fichier ; npm run seed -- --reset recharge tout le catalogue.npm run import-ideas -- fichier.csv importe en masse (colonnes titre;categorie_slug;public;mots_cles;prix_min;prix_max) pour monter à 10 000+ idées. La recherche utilise un index FTS5, prévu pour ce volume.lib/config.ts), et si voulu un prix annuel pour chacun.STRIPE_SECRET_KEY, STRIPE_PRICE_STARTER, STRIPE_PRICE_PRO, STRIPE_PRICE_BUSINESS (et les _ANNUAL).https://votre-domaine/api/stripe/webhook avec les événements checkout.session.completed, customer.subscription.created|updated|deleted, invoice.paid, invoice.payment_failed, puis STRIPE_WEBHOOK_SECRET.GEMINI_API_KEY (Google AI Studio) et GEMINI_MODEL (défaut gemini-2.5-flash). Un e-book de 9 chapitres fait environ 11 appels.
Vercel + Neon : ajouter une base Neon depuis Vercel → Storage (elle remplit DATABASE_URL), puis AUTH_SECRET, NEXT_PUBLIC_APP_URL et les clés Gemini, Stripe et Resend. Détails dans LANCEMENT.md.
Sans DATABASE_URL, la base est PGlite : un dossier local (DATABASE_PATH) en développement, ou en mémoire sur Vercel (démo, rien n'est conservé).