Genel Bakis
Freelance PM, serbest calisanlar icin gelistirilmis kapsamli bir proje yonetim uygulamasidir. Musterilerinizi, projelerinizi, gorevlerinizi ve calisma saatlerinizi tek bir platformdan yonetmenizi saglar.
Musteri Yonetimi
Musterilerinizi takip edin, durumlarini yonetin, iletisim bilgilerini kaydedin.
Proje Yonetimi
Projeleri musterilere baglayarak deadline, butce ve durum takibi yapin.
Kanban Gorev Panosu
Gorevlerinizi To Do, In Progress, Review ve Done kolonlariyla yonetin.
Zaman Takibi
Faturalabilir ve faturalanamaz saatlerinizi proje ve gorev bazinda kaydedin.
Kullanici Yonetimi
Ekip uyelerini davet edin, roller atayin, musteri erisimini kontrol edin.
Guvenlik
JWT kimlik dogrulama, row-level security ve rol tabanli erisim kontrolu.
Kurulum
Docker ile Kurulum (Onerilen)
En kolay kurulum yontemi Docker Compose kullanmaktir. Tum servisler tek komutla ayaga kalkar.
Henuz yuklemediyseniz docker.com/products/docker-desktop adresinden indirip kurun.
Frontend: http://localhost:3000 | Backend API: http://localhost:3001 | pgAdmin: http://localhost:5050
Manuel Kurulum
Backend
Frontend
Ilk Giris
Varsayilan Admin Hesabi
| Alan | Deger |
|---|---|
| E-posta | admin@example.com |
| Sifre | Admin123! |
Giris Akisi
Sistem JWT (JSON Web Token) tabanli kimlik dogrulama kullanir. Access token 1 saat, refresh token 7 gun gecerlidir.
Dashboard
Giris yaptiktan sonra karsilasiginiz ana sayfa. Tum onemli metrikleri tek bakista gorursunuz.
Ozet Kartlari
Toplam Musteri
Aktif musteri sayiniz ve toplam musteri sayisi.
Aktif Projeler
Devam eden proje sayiniz ve toplam proje sayisi.
Bekleyen Gorevler
To Do + In Progress + Review gorevleriniz ve tamamlanan sayisi.
Bu Hafta Saatler
Bu haftaki toplam calisma saatiniz ve bugunun saati.
Hizli Erisim Butonlari
Dashboard uzerinden tek tikla yeni musteri, proje, gorev olusturabilir veya zaman kaydedebilirsiniz.
Musteri Yonetimi
Sol menuden Clients sayfasina giderek musterilerinizi yonetebilirsiniz.
Musteri Durumlari
| Durum | Aciklama | Badge |
|---|---|---|
| Active | Aktif musteri, projeler devam ediyor | active |
| Inactive | Pasif musteri, su an proje yok | inactive |
| Archived | Arsivlenmis, eski musteri | archived |
Musteri Islemleri
"Add Client" butonuna tiklayin. Ad, e-posta, sirket, telefon ve notlari girin.
Arama kutusuyla isme gore arayin, durum filtresiyle (Active/Inactive/Archived) daraltin.
"View" linkine tiklayarak musteri bilgilerini, bagili projeleri gorun.
"Edit" ile bilgileri guncelleyin, "Delete" ile kaldirin.
Proje Yonetimi
Projelerinizi musterilere baglayarak deadline, butce ve durum takibi yapin.
Proje Durumlari
| Durum | Aciklama | Badge |
|---|---|---|
| Planning | Planlama asamasinda, henuz baslanmadi | planning |
| Active | Aktif olarak calisiyor | active |
| On Hold | Beklemede, gecici olarak duraklatildi | on hold |
| Completed | Tamamlandi | completed |
| Cancelled | Iptal edildi | cancelled |
Proje Olusturma
Sadece admin kullanicilar yeni proje olusturabilir.
Proje adi, aciklama, musteri secimi, durum, butce ve deadline bilgilerini doldurun.
Projeler tablosunda durum, butce ve deadline bilgileriyle listelenir. Arama ve filtreleme yapabilirsiniz.
Proje Istatistikleri
Sayfa ustundeki ozet kartlarinda toplam, planlanan, aktif, bekleyen ve tamamlanan proje sayilari goruntulenir.
Gorev Yonetimi (Kanban)
Gorevler, Kanban panosu seklinde 4 kolonda goruntulenir. Gorevleri durumlar arasinda tasiyarak is akisinizi yonetin.
Kanban Panosu
Oncelik Seviyeleri
| Oncelik | Renk | Kullanim |
|---|---|---|
| Urgent | █ Kirmizi | Hemen yapilmasi gereken kritik gorevler |
| High | █ Turuncu | Oncelikli, kisa surede tamamlanmasi gereken |
| Medium | █ Sari | Normal oncelikli, planlanmis gorevler |
| Low | █ Yesil | Dusuk oncelikli, zaman oldukca yapilacak |
Gorev Islemleri
Baslik, aciklama, proje secimi, oncelik, tahmini saat ve bitis tarihi girin.
Gorev kartindaki dropdown ile durumu degistirin (To Do → In Progress → Review → Done).
Dropdown ile belirli bir projenin gorevlerini goruntuleyebilirsiniz.
Gorev Karti Bilgileri
Her gorev kartinda su bilgiler gorunur:
- Gorev basligi ve aciklamasi
- Oncelik seviyesi (renkli badge)
- Bitis tarihi (takvim ikonu)
- Tahmini / gerceklesen saat (saat ikonu)
- Bagli oldugu proje (klasor ikonu)
Zaman Takibi
Calisma saatlerinizi proje ve gorev bazinda kaydedin. Faturalabilir ve faturalanamaz saatleri ayri takip edin.
Zaman Istatistikleri
Toplam Saat
Tum zamanlarin toplam calisma saati.
Bugun
Bugunun toplam calisma saati.
Bu Hafta
Bu haftanin toplam calisma saati.
Bu Ay
Bu ayin toplam calisma saati.
Faturalabilir
Fatura edilebilir toplam saat.
Zaman Kaydi Olusturma
Zaman takibi sayfasindan veya dashboard'daki hizli erisim butonundan.
Proje, gorev (opsiyonel), saat, tarih, aciklama ve faturalabilir mi isaretleyin.
Listede proje bazinda filtreleyin, duzenleyin veya silin. Toplam ve faturalabilir saat otomatik hesaplanir.
Kullanici Yonetimi
Ekip uyelerinizi davet edin, rollerini atayin ve musteri erisimlerini kontrol edin.
Kullanici Davet Etme
Users sayfasindaki modal acilir.
Ad, soyad, e-posta, rol (Admin/User) ve atanacak musterileri secin.
Davet edilen kisi e-postasindaki linke tiklayarak hesabini aktive eder.
Kullanici Durumlari
| Durum | Aciklama |
|---|---|
| Active | Davetini kabul etmis, aktif kullanici |
| Pending | Davet gonderildi, henuz kabul etmedi |
| Expired | Davet suresi dolmus, tekrar gonderilmeli |
| Inactive | Hesabi deaktive edilmis |
Musteri Atama
Her kullaniciya belirli musteriler atayabilirsiniz. Kullanici sadece kendisine atanan musterileri ve o musterilerin projelerini gorebilir.
Kullanici satirindaki Edit Clients butonu musteri atama modalini acar.
Checkbox'larla kullaniciya atanacak musterileri isaretleyin.
"Save Changes" ile atamalari kaydedin. Kullanici artik sadece secili musterileri gorecektir.
Roller ve Yetkiler
Sistemde iki temel rol bulunur. Her rolun farkli yetkileri vardir.
Admin
- Tum musterileri gorebilir
- Tum projeleri gorebilir
- Musteri olusturma / duzenleme / silme
- Proje olusturma / duzenleme / silme
- Kullanici davet etme ve yonetme
- Kullanicilara musteri atama
- Gorev olusturma ve yonetme
- Zaman kaydi olusturma
User
- Sadece atanan musterileri gorebilir
- Sadece atanan projeleri gorebilir
- Gorev olusturma ve yonetme
- Zaman kaydi olusturma
- Kendi profilini duzenleme
Profil
Sol menuden Profile sayfasina giderek kisisel bilgilerinizi goruntuleyip guncelleyebilirsiniz.
Profil Islemleri
- Ad ve soyad guncelleme
- E-posta guncelleme
- Sifre degistirme
- Hesap bilgilerini goruntuleme (rol, olusturulma tarihi)
API Referansi
Backend API, http://localhost:3001/api adresinde calisir. Tum endpoint'ler JWT token gerektirir (login haric).
| Modul | Endpoint | Metodlar |
|---|---|---|
| Auth | /api/auth/* |
POST login, register, invite, refresh, logout |
| Clients | /api/clients/* |
GET (list, detail, stats), POST, PUT, DELETE |
| Projects | /api/projects/* |
GET (list, detail, stats), POST, PUT, DELETE |
| Tasks | /api/tasks/* |
GET (list, detail, stats), POST, PUT, DELETE |
| Time Entries | /api/time-entries/* |
GET (list, detail, stats), POST, PUT, DELETE |
Kimlik Dogrulama
Veritabani Semasi
PostgreSQL 14 kullanilir. Asagida ana tablolar ve iliskileri yer almaktadir.
| Tablo | Aciklama | Onemli Alanlar |
|---|---|---|
users |
Kullanici hesaplari | email, role (admin/user), is_active, invite_token |
clients |
Musteri bilgileri | name, email, company, phone, status |
projects |
Proje detaylari | name, client_id, status, budget, deadline |
tasks |
Gorev yonetimi | title, project_id, status, priority, due_date, estimated_hours |
time_entries |
Zaman kayitlari | project_id, task_id, hours, date, billable, description |
user_clients |
Kullanici-musteri eslestirmesi | user_id, client_id (many-to-many) |
project_clients |
Proje-musteri eslestirmesi | project_id, client_id (many-to-many) |
Iliski Diyagrami
Guvenlik
JWT Kimlik Dogrulama
Access token (1 saat) + Refresh token (7 gun) ile guvenli oturum yonetimi.
Sifre Hashleme
Sifreler bcrypt ile hash'lenir, duz metin olarak saklanmaz.
Rol Tabanli Erisim
Admin ve User rolleri ile farkli yetki seviyeleri.
Row-Level Security
Kullanicilar sadece atanan musterilerin verilerine erisebilir.
Davet Sistemi
Acik kayit yok, sadece admin daveti ile kullanici olusturulur.
Guvenlik Baslik
Helmet middleware ile HTTP guvenlik basliklarinin otomatik eklenmesi.
Guvenlik Onerileri
- Varsayilan admin sifresini degistirin
- JWT_SECRET ve JWT_REFRESH_SECRET degerlerini guclu, benzersiz anahtarlarla degistirin
- E-posta kimlik bilgilerini .env dosyasinda tutun, docker-compose.yml icine yazmayin
- HTTPS kullanin (reverse proxy ile)
- Rate limiting limitlerini ihtiyaciniza gore ayarlayin