0f20309e4db5725f44cae795ad9f131b99a3cdb1
Kovak Yazılım — Kurumsal Web Sitesi
Next.js 16 + TypeScript + Tailwind v4 + Appwrite ile geliştirilmiş kurumsal site.
Teknoloji
- Framework: Next.js 16 (App Router, Turbopack, React 19)
- Stil: Tailwind CSS v4
- Backend: Appwrite (TablesDB) —
https://db.kovaksoft.com - İkonlar: lucide-react + inline SVG brand icons
- Form: React Server Actions +
useActionState
Kurulum
npm install
cp .env.example .env.local
# .env.local dosyasındaki APPWRITE_API_KEY'i Appwrite Console'dan oluşturup ekle
npm run dev
Site: http://localhost:3000
Appwrite Yapılandırması
Project ID: 69f27b51000a5bee46ce
Database ID: kovak-yazilim-db
Tablolar
| Tablo | İçerik | Yazma izni |
|---|---|---|
services |
Hizmetler (slug, title, description, icon, order, featured) | yalnız users |
projects |
Referans projeler (slug, title, description, image_url, live_url, category, technologies[], year, featured) | yalnız users |
contact_messages |
İletişim formu kayıtları (name, email, phone, subject, message, status) | herkes create, users read/update/delete |
contact_messages.create izni any — anonim kullanıcılar form gönderebilsin diye.
Diğer tüm yazma işlemleri yetkili kullanıcı (admin) gerektirir.
API Key Oluşturma
- Appwrite Console → Settings → API Keys → Create
- Scopes:
databases.read,tables.read,rows.read,rows.write .env.localiçineAPPWRITE_API_KEY=olarak yapıştır
Yapı
app/
actions.ts # Server Action: submitContact
layout.tsx # Root layout + Header/Footer
page.tsx # Anasayfa
hizmetler/ # /hizmetler
projeler/ # /projeler
hakkimizda/ # /hakkimizda
iletisim/ # /iletisim
components/ # Header, Footer, Hero, ContactForm, …
lib/
appwrite.ts # Browser client
appwrite-server.ts # Server client (uses APPWRITE_API_KEY)
data.ts # listServices / listProjects (Server-only)
site-config.ts # Marka, iletişim, fallback hizmetler
types.ts
public/logo.png # Logo (kovakyazilim.com'dan)
Build
npm run build
npm start
Gitea Remote
git remote add origin ssh://git@git.kovaksoft.com:2222/kovakmedya/kovakyazilim.git
git push -u origin main
Description
Languages
TypeScript
99.3%
CSS
0.5%
JavaScript
0.2%