80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# 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
|
||
|
||
```bash
|
||
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
|
||
|
||
1. Appwrite Console → Settings → API Keys → Create
|
||
2. Scopes: `databases.read`, `tables.read`, `rows.read`, `rows.write`
|
||
3. `.env.local` içine `APPWRITE_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
|
||
|
||
```bash
|
||
npm run build
|
||
npm start
|
||
```
|
||
|
||
## Gitea Remote
|
||
|
||
```bash
|
||
git remote add origin ssh://git@git.kovaksoft.com:2222/kovakmedya/kovakyazilim.git
|
||
git push -u origin main
|
||
```
|