TikTok Shop Video Generator
바이럴 틱톡 영상을 클릭 한 번에 광고로 전환해 틱톡샵 판매자·제휴자가 촬영·편집 없이 무료로 체험할 수 있습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A self-hosted email campaign platform built with Next.js. Configure SMTP servers, manage subscriber lists, compose emails with a block-based editor, and send campaigns — all from a single interface. Data is stored locally in the browser via IndexedDB, so no external database is required.
Live: bismuth-mail.vercel.app
/campaigns/:id/compose|send|logs), with live sidebar progress, resume, retry-failed, search, filtered log export, pre-send checks, and test emails{{field}} placeholders in subject and body, resolved per-contact from list custom fieldsList-Unsubscribe mailto header, multipart text/plain, sanitized HTML blocks, and uploaded images sent as CID inline partschangelog.yaml| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Radix UI, Tailwind CSS 4 |
| Components | shadcn/ui pattern |
| Database | Dexie (IndexedDB) |
| Nodemailer via API routes | |
| Validation | Zod |
| Language | TypeScript 6 |
git clone https://github.com/gbordiga/bismuth-mail.git
cd bismuth-mail
pnpm install
pnpm dev
Open http://localhost:3000 in your browser.
pnpm build
pnpm start
main, using Node 22.pnpm lint, tsc --noEmit, pnpm test, and pnpm build.send, send-batch, test) plus email building, merge fields, attachments, backup, CSV, send engine, and campaign workspace helpers./api/smtp/* routes to perform test/send operations.bismuth-mail/
├── app/
│ ├── api/
│ │ ├── changelog/ # Serves structured notes from changelog.yaml
│ │ └── smtp/ # API routes for sending and testing emails
│ ├── (dashboard)/ # Route-based app sections
│ │ ├── smtp/page.tsx
│ │ ├── senders/page.tsx
│ │ ├── lists/page.tsx
│ │ ├── campaigns/ # Hub plus /new and /:id/compose|send|logs
│ │ ├── editor/page.tsx # Redirects to /campaigns
│ │ ├── send/page.tsx # Redirects to the sending campaign or /campaigns
│ │ └── backup/page.tsx
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Redirects to /smtp
│ └── globals.css # Global styles and Tailwind imports
├── components/
│ ├── app-shell.tsx # Navigation shell with sidebar progress
│ ├── smtp-config.tsx # SMTP server management
│ ├── sender-section.tsx # Sender profile management
│ ├── email-list-section.tsx # Contact list management
│ ├── campaign-list.tsx # Campaign hub
│ ├── campaign-workspace.tsx # Compose / Send / Logs chrome
│ ├── newsletter-editor.tsx # Campaign compose phase
│ ├── send-campaign.tsx # Campaign send phase
│ ├── campaign-send-logs.tsx # Campaign logs phase
│ ├── onboarding-guide.tsx # First-run setup checklist
│ ├── changelog-modal.tsx # In-app version history
│ ├── backup-section.tsx # Data backup and restore
│ └── ui/ # Reusable UI primitives (shadcn/ui)
├── hooks/ # Shared client hooks (Dexie tables, changelog)
└── lib/
├── db.ts # Dexie database schema and types (IndexedDB only)
├── email-builder.ts # HTML email template builder
├── send-engine.ts # Recipient selection and campaign status helpers
├── sending-context.tsx # Live send progress across the app
├── repositories/ # Campaign, send-log, and suppression queries
├── validations.ts # Zod schemas for API validation
└── __tests__/ # Vitest coverage for routes and helpers
A setup guide in the sidebar walks through these steps on first run. All data stays in your browser's IndexedDB. Use the Backup section to export/import your data as JSON.
See changelog.yaml for a detailed list of changes between versions.
Contributions are welcome! Feel free to open an issue or submit a pull request.
git checkout -b feature/my-feature)git commit -m 'feat: add my feature')git push origin feature/my-feature)This project is licensed under the MIT License.