AI destekli logo oluşturma platformu - Girişimciler ve geliştiriciler için saniyeler içinde profesyonel logolar
LogoLoco, uygulama geliştiricileri ve girişimciler için tasarlanmış, yapay zeka destekli bir logo oluşturma platformudur. Tasarım becerisi gerektirmeden, sadece birkaç basit adımda profesyonel kalitede logolar üretmenizi sağlar.
- 🚀 Hızlı: 60 saniyeden kısa sürede logo oluşturun
- 🎨 Profesyonel: App Store/Google Play kalitesinde sonuçlar
- 💡 Kolay Kullanım: Karmaşık prompt mühendisliği gerektirmez
- 🎯 Odaklı: Mobil uygulama ikonları ve basit logolar için optimize edilmiş
- ⚡ Modern Stack: Next.js 15, React 19 ve TypeScript ile geliştirilmiş
- Basit Form Arayüzü: Uygulama adı, odak, renk seçimi ile kolay kullanım
- Çoklu Model Desteği:
- Nano Banana
- Seedream v4
- Reve Text
- Kredi Tabanlı: Her logo çıktısı 1 kredi; 1-4 adet logo tek seferde oluşturulabilir
- Renk Önizleme: Seçtiğiniz renkleri anlık görüntüleme
- Geçmiş Kaydı: Üretilen logolar veritabanına yazılır, sadece ilgili kullanıcı kendi geçmişini görür
- Gerçek Zamanlı Önizleme: Loading state ile animasyonlu gösterim
- Skeleton Loading: Profesyonel yükleme animasyonları
- Responsive Tasarım: Mobil ve masaüstü uyumlu
- Dark/Light Mode: Otomatik tema desteği
- Kolay İndirme: Tek tıkla logo indirme
- Kredi Sistemi: İlk girişte ücretsiz kredi, ardından paketlerle kredi satın alma
- Form Validasyonu: Zod ile güçlü tip güvenliği
- API Polling: Eşzamansız logo oluşturma takibi
- Modern UI Bileşenleri: Radix UI primitives ile erişilebilir arayüz
- Type-Safe: End-to-end TypeScript desteği
- Framework: Next.js 15.5 (App Router + Turbopack)
- UI Library: React 19.1
- Language: TypeScript 5.x
- Styling: Tailwind CSS 4.x
- Form: React Hook Form + Zod
- Base: Radix UI - Erişilebilir primitives
- Icons: Lucide React
- Animations: tw-animate-css
- Theme: next-themes
- Framework: Hono + Bun runtime (REST-first, edge friendly)
- Auth: Better Auth (server hosted in API, Next.js uses client SDK) with anonymous oturum desteği;
/api/predictionsve geçmiş listesi oturum gerektirir
- Package Manager: Bun (ana paket yöneticisi)
- Linting: ESLint 9
- Build Tool: Turbopack (Next.js dahili)
- Monorepo: Turborepo + Bun workspaces
- Node.js 20.x veya üzeri
- Bun
git clone https://github.com/altudev/eachlabs-ai-logo-maker-saas.git
cd eachlabs-ai-logo-maker-saasbun installdocker run --name altu-postgres -p 1453:5432 -e POSTGRES_PASSWORD=123alper123 -d postgres:16.9-alpine3.22.env.local dosyası oluşturun ve gerekli değişkenleri ekleyin:
DATABASE_URL=postgres://user:pass@host:port/db
DATABASE_SSL=true # opsiyonel, prod için önerilir
EACHLABS_API_KEY=your_api_key_here
NEXT_PUBLIC_API_BASE_URL=http://localhost:3002
BETTER_AUTH_SECRET=change-me
BETTER_AUTH_URL=http://localhost:3002
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3002
GENERATION_RETENTION_DAYS=365
POLAR_ACCESS_TOKEN=your_polar_org_access_token
POLAR_CHECKOUT_SUCCESS_URL=http://localhost:3000/checkout/success?checkout_id={CHECKOUT_ID}
POLAR_CHECKOUT_RETURN_URL=http://localhost:3000/account
POLAR_SERVER=sandbox
PGPOOL_MAX=50
PGPOOL_IDLE_MS=30000
PGPOOL_CONN_TIMEOUT_MS=5000
SIGNUP_BONUS_CREDITS=1
[email protected]bun run devBu komut hem Next.js uygulamasını (varsayılan 3000) hem de Hono API'sini (varsayılan 3002, PORT ile güncellenebilir) başlatır. İstemci hangi API'ye vuracağını NEXT_PUBLIC_API_BASE_URL üzerinden bilir. Yalnızca web veya API'yi ayağa kaldırmak için bun run dev -- --filter=web veya bun run dev -- --filter=api komutlarını kullanın. Tarayıcınızda http://localhost:3000 adresini açın.
-
Uygulama Bilgilerini Girin
- Uygulama adı (örn: "FinansTakip")
- Uygulama odağı (örn: "Uçan roket, Cüzdan")
-
Renkleri Seçin
- Renk 1: Ana marka renginiz
- Renk 2: Yardımcı renginiz
-
Model ve Ayarları Belirleyin
- AI modeli seçin (Nano Banana, Seedream v4, Reve Text)
- Çıktı sayısını belirleyin (1-4 adet)
-
Logo Oluştur
- "Logo Oluştur" butonuna tıklayın
- AI logolarınızı oluştururken bekleyin
- Sonuçlardan beğendiğinizi indirin
# Tüm uygulamalar için geliştirme
bun run dev
# Sadece web veya API geliştirme
bun run dev -- --filter=web
bun run dev -- --filter=api
# Build ve lint
bun run build
bun run lint
# Production çalıştırma (web + API)
bun run start
bun run start -- --filter=web
bun run start -- --filter=api
# Veritabanı yardımcı komutları (API servisi için)
bun run db:generate
bun run db:migrate
bun run db:push
bun run db:studioeachlabs-ai-logo-maker-saas/
├── apps/
│ ├── web/ # Next.js (App Router)
│ │ ├── app/ # Routes, layouts, styles
│ │ ├── components/ # UI + landing bölümleri
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Yardımcı fonksiyonlar
│ │ ├── public/ # Statik varlıklar
│ │ ├── next.config.ts # Next.js yapılandırması
│ │ └── package.json # Web app paket tanımı
│ └── api/ # Hono + Bun API (DB ve Eachlabs entegrasyonu)
│ ├── src/
│ │ ├── auth.ts # Better Auth server instance
│ │ ├── db/ # Drizzle şeması & bağlantı
│ │ ├── routes/ # Hono route'ları (örn. predictions)
│ │ └── index.ts # Hono entrypoint (port 3002)
│ ├── src/db/migrations/ # Drizzle/Better Auth migrations
│ ├── drizzle.config.ts # Drizzle CLI yapılandırması
│ └── package.json # API paket tanımı
│
├── docs/ # Dokümantasyon
│ ├── prd.md # Ürün Gereksinimleri
│ ├── api-registry.md # API Referansı
│ ├── turborepo/ # Turborepo notları
│ └── ... # Diğer dokümanlar
│
├── turbo.json # Turborepo yapılandırması
├── tsconfig.base.json # Paylaşılan TS ayarları
├── .gitignore
├── bun.lock
├── package.json # Monorepo kök script'leri
└── README.md
Yerel baz URL: http://localhost:3002
POST /api/predictions
Auth: Better Auth oturumu gerektirir (kullanıcıya ait kredilerden düşer).
Request Body:
{
appName: string; // Uygulama adı
appFocus: string; // Uygulama odağı/konsepti
color1: string; // Ana renk
color2: string; // Yardımcı renk
model: string; // AI modeli ("nano-banana" | "seedream-v4" | "reve-text")
outputCount: string; // Çıktı sayısı ("1" | "2" | "3" | "4")
}Response:
{
predictionID: string; // Takip için prediction ID
prediction?: unknown; // Eachlabs yanıtı (debug için passthrough)
}GET /api/predictions
Auth: Gerekli (oturum açmış kullanıcı kendi geçmişini görür).
Query Parametreleri:
limit: Varsayılan 50, en fazla 100offset: Varsayılan 0
Davranış:
- Son 365 gün (veya
GENERATION_RETENTION_DAYS) içindeki kayıtları döner. - Sadece oturum açmış kullanıcının kayıtları listelenir.
Response:
{
history: LogoGeneration[];
pagination: { limit: number; offset: number };
}GET /api/predictions/{predictionID}
Auth: Gerekli; sadece sahibine açık.
Response:
{
status: "success" | "failed" | "running" | "queued";
output?: string[]; // Oluşturulan logo URL'leri (success durumunda)
[key: string]: unknown; // Eachlabs yanıtı olduğu gibi döner
}Daha fazla bilgi için docs/api-registry.md dosyasına bakın.
Katkılarınızı memnuniyetle karşılıyoruz! Bu açık kaynak projeye katkıda bulunmak için:
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/harika-ozellik) - Değişikliklerinizi commit edin (
git commit -m 'feat: Harika özellik eklendi') - Branch'inizi push edin (
git push origin feature/harika-ozellik) - Pull Request açın
- ✅ TypeScript tip güvenliğini koruyun
- ✅ Mevcut kod stilini takip edin
- ✅ Değişikliklerinizi test edin
- ✅ Anlamlı commit mesajları yazın
- ✅ Büyük değişiklikler için önce issue açın
Bu proje açık kaynak kodludur ve MIT Lisansı altında lisanslanmıştır.
- Eachlabs - AI altyapı sağlayıcısı
- Vercel - Hosting ve deployment
- shadcn/ui - UI bileşenleri
- Tüm açık kaynak katkıda bulunanlara ❤️
- Dokümantasyon:
docs/klasörünü inceleyin - Bugs: GitHub Issues üzerinden bildirin
- Feature Requests: Issue açarak önerinizi paylaşın
⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!
Yapay Zeka ile Oluşturuldu • Eachlabs ile Güçlendirilmiştir