Kartaya — Source Code Generator Flashcard AI Bilingual (Indonesia–Inggris)
Versi 1.0.0
Apa itu Kartaya?
Kartaya adalah aplikasi web single-user untuk menghasilkan produk digital, terutama flashcard bilingual Indonesia–Inggris, memakai AI. Alurnya: atur prompt lewat skill/template, generate gambar kartu dengan AI, pilih kartu di galeri, lalu kemas jadi pack ZIP lengkap dengan cover yang juga dibuat AI.
Semua biaya pemakaian AI (token & gambar) tercatat, file bisa disimpan di lokal, S3, atau Google Drive, dan proses berat berjalan di antrian (worker) supaya UI tetap responsif. Tampilannya bergaya playground: sidebar + canvas + panel parameter.
Yang kamu beli adalah source code + panduan setup. Kamu menjalankannya di mesin atau server sendiri (self-host).
Untuk siapa?
- Developer yang mau belajar atau memakai contoh nyata aplikasi AI full-stack modern (TanStack Start, Prisma, BullMQ, Vercel AI SDK).
- Kreator produk digital yang ingin memproduksi flashcard / aset edukasi bergambar dalam jumlah banyak lalu menjualnya sebagai paket.
- Freelancer / agensi yang butuh fondasi aplikasi generate-konten-AI untuk proyek klien.
- Siapa pun yang tertarik otomasi produksi konten dengan AI dan nyaman menjalankan Node.js + Docker.
Fitur utama
Generator flashcard berbasis AI
- Generate kartu per kategori sebagai job di antrian, dengan progres yang bisa dipantau.
- Anti-duplikat slug, jadi kartu yang sama tidak dibuat dua kali.
- Thumbnail dibuat otomatis untuk tiap kartu.
- Seed awal sudah berisi kategori contoh (mis. Peralatan Sekolah, Hewan, Kendaraan, Buah, Bagian Tubuh, Warna) dan template prompt flashcard anak + cover.
Skill Studio (prompt template)
- Buat, clone, edit, dan uji prompt template (skill) langsung dari UI.
- Template disimpan di database, jadi bisa kamu sesuaikan untuk jenis produk lain.
Assets & Packs
- Galeri kartu dengan multi-select untuk dipilih ke dalam pack.
- Cover AI otomatis untuk tiap pack.
- Unduh ZIP berisi cover, gambar kartu bernomor urut, dan
manifest.json.
Jobs & Usage (kontrol biaya)
- Daftar job + chart.
- Pencatatan token in/out dan estimasi biaya per pemakaian.
- Tabel harga model (ModelPrice) yang bisa di-refresh dari sumber harga publik.
Settings
- Kredensial AI TEXT dan IMAGE disimpan terenkripsi (AES-256-GCM) di database.
- Provider teks OpenAI-compatible (contoh: DeepSeek, OpenAI, OpenRouter). Provider gambar: Ideogram dan/atau provider OpenAI-compatible.
- Pilihan storage: Lokal, S3, atau Google Drive (OAuth "Connect Google Drive").
Tech stack
| Bagian | Teknologi |
|---|---|
| Bahasa | TypeScript, React 19 |
| Framework | TanStack Start + TanStack Router + TanStack Query |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Database | PostgreSQL 16 + Prisma 7 |
| Antrian | Redis 7 + BullMQ (proses worker terpisah) |
| AI | Vercel AI SDK (ai + @ai-sdk/openai), integrasi Ideogram |
| Gambar & arsip | sharp, archiver |
| Build | Vite + Nitro |
| Infra lokal | Docker Compose (Postgres + Redis) |
Yang kamu dapat
Isi paket ZIP
- Source code lengkap Kartaya (tanpa
.git, tanpa file env/secret, tanpanode_modulesdan hasil build). .env.exampleberisi placeholder saja. Kunci API kamu isi sendiri.docker-compose.ymluntuk menjalankan Postgres + Redis.- Seed database (kategori contoh + template prompt flashcard & cover).
- Script
pnpm pack:buyeruntuk membuat arsip bersih dari project.
Panduan setup (bahasa Indonesia)
README.mddengan Quick Start.docs/PANDUAN-SETUP.md: langkah demi langkah untuk Windows, macOS, dan Linux, setup awal di Settings, build/preview, gambaran deploy ke VPS, dan tabel troubleshooting.docs/SPESIFIKASI.md: runtime, layanan, nama variabel environment, API eksternal yang dibutuhkan, dan target deploy.docs/ASET-HAK.md: catatan aset pihak ketiga.
Lisensi
- File
LICENSE: lisensi komersial pembeli tunggal. Boleh dipakai untuk proyek sendiri dan proyek klien, tidak boleh dijual ulang atau didistribusikan ulang. Detail di bagian "Catatan lisensi".
Kebutuhan sistem
- Node.js 22+
- pnpm 10+
- Docker + Docker Compose (untuk PostgreSQL & Redis)
- OS: Windows, macOS, atau Linux
- Port default: app
3000, PostgreSQL5434, Redis6380(bisa diubah) - API key milik kamu sendiri:
- Provider teks OpenAI-compatible (mis. DeepSeek / OpenAI / OpenRouter)
- Provider gambar (mis. Ideogram)
- Opsional: kredensial S3 dan/atau Google Cloud OAuth (untuk Google Drive)
- Rekomendasi praktis dari dokumen spesifikasi (bukan angka resmi): RAM ±4 GB dan 2 core CPU untuk menjalankan app + worker + Postgres + Redis sekaligus.
Biaya pemakaian API AI (teks & gambar) ditanggung pembeli, langsung ke provider masing-masing.
FAQ
Apakah ini aplikasi jadi atau source code? Source code + panduan setup. Kamu menjalankan (self-host) sendiri di komputer atau server kamu.
Apakah sudah termasuk API key atau kuota AI? Tidak. Kamu perlu API key sendiri untuk provider teks (OpenAI-compatible) dan provider gambar (mis. Ideogram). Kunci diisi lewat halaman Settings dan disimpan terenkripsi.
Apakah ada fitur login / multi-user? Tidak. Kartaya dirancang single-user tanpa autentikasi bawaan. Kalau dipasang di server publik, tambahkan proteksi sendiri (mis. reverse proxy dengan basic auth, VPN, atau IP allowlist), seperti dijelaskan di panduan.
Bisa dipakai untuk produk selain flashcard? Template prompt (skill) bisa dibuat, di-clone, dan diedit dari UI, dan kode sumbernya bisa kamu modifikasi. Namun template bawaan yang disertakan fokus pada flashcard bilingual anak dan cover pack.
Apakah ada Dockerfile untuk aplikasinya?
Belum. Docker Compose di paket hanya menjalankan PostgreSQL dan Redis. Aplikasi dan worker dijalankan dengan Node.js (pnpm dev / pnpm build + pnpm preview, ditambah pnpm worker).
Boleh saya pakai untuk proyek klien? Boleh. Lisensinya mengizinkan penggunaan dan modifikasi untuk proyek sendiri maupun proyek klien. Yang dilarang adalah menjual ulang atau mendistribusikan ulang source code-nya.
Catatan lisensi
Kartaya dijual dengan Lisensi Komersial Pembeli Tunggal:
- ✅ Boleh menggunakan, memodifikasi, dan menjalankan kode di infrastruktur sendiri (self-host).
- ✅ Boleh memakai hasil keluaran aplikasi (mis. gambar flashcard, pack ZIP) untuk proyek sendiri atau klien.
- ✅ Boleh mengadaptasi kode untuk kebutuhan internal / proyek klien.
- ❌ Tidak boleh menjual ulang, menyewakan, atau mendistribusikan ulang source code (asli maupun modifikasi) sebagai produk, template, atau boilerplate.
- ❌ Tidak boleh mempublikasikan source code ke repositori publik tanpa izin tertulis.
- ❌ Tidak boleh menghapus pemberitahuan hak cipta/lisensi atau mengklaim kepemilikan kode asli.
Logo merek pihak ketiga di dalam paket (mis. logo provider AI) tetap tunduk pada ketentuan pemilik mereknya. Kode disediakan "sebagaimana adanya" tanpa jaminan. Dukungan teknis atau pembaruan hanya berlaku jika disebutkan terpisah di halaman produk. Teks lengkap ada di file LICENSE.