Mini İş İlanı & CV Yönetim Sistemi
Ne yapıyoruz? Kariyer.net benzeri ama çok daha basit bir iş bulma sistemi. Her tenant kendi kariyer sayfasına sahip olabilecek.
Frontend tamamen bağımsız tema olarak çalışacak: resources/views/themes/career/
resources/views/themes/career/
├── layouts/
│ ├── app.blade.php ← Ana layout
│ ├── header.blade.php ← Navbar
│ └── footer.blade.php ← Footer
├── homepage.blade.php ← Ana sayfa (öne çıkan ilanlar)
├── jobs/
│ ├── index.blade.php ← İlan listesi (filtreleme, arama)
│ ├── show.blade.php ← İlan detay + başvuru butonu
│ └── category.blade.php ← Kategoriye göre ilanlar
├── resume/
│ ├── index.blade.php ← CV'lerim listesi
│ ├── create.blade.php ← CV oluştur formu
│ ├── edit.blade.php ← CV düzenle
│ └── preview.blade.php ← CV önizleme
├── applications/
│ ├── index.blade.php ← Başvurularım listesi
│ └── show.blade.php ← Başvuru detayı
├── employer/
│ ├── jobs.blade.php ← Firma: İlanlarım
│ ├── job-create.blade.php ← Firma: İlan oluştur
│ ├── applications.blade.php ← Firma: Gelen başvurular
│ └── application-show.blade.php ← Firma: Başvuru detay
├── components/
│ ├── job-card.blade.php ← İlan kartı komponenti
│ ├── category-card.blade.php ← Kategori kartı (görselli)
│ ├── resume-form.blade.php ← CV form adımları
│ └── status-badge.blade.php ← Başvuru durum badge'i
└── auth/
├── login.blade.php ← Giriş (varsa override)
└── register.blade.php ← Kayıt (varsa override)
Mevcut Modules/Mail yapısına entegre olacak yeni mail sınıfları:
ApplicationSubmittedMail
ApplicationViewedMail
ApplicationInterviewMail
ApplicationRejectedMail
ApplicationHiredMail
NewApplicationMail
// CareerMailService.php
$this->sendApplicationSubmitted($application);
$this->sendNewApplication($application);
$this->sendStatusChanged($application, $oldStatus);
CareerApplicationObserver::created() → ApplicationSubmittedMail + NewApplicationMailCareerApplicationObserver::updated() → status değişirse ilgili mail gönderModules/Career/
├── App/
│ ├── Models/
│ │ ├── CareerJob.php
│ │ ├── CareerCategory.php ← HasMedia (sektör görseli)
│ │ ├── CareerResume.php ← HasMedia (CV PDF, foto)
│ │ └── CareerApplication.php
│ ├── Http/
│ │ ├── Controllers/Front/
│ │ │ ├── CareerJobController.php
│ │ │ ├── CareerResumeController.php
│ │ │ ├── CareerApplicationController.php
│ │ │ └── EmployerController.php
│ │ └── Livewire/Admin/
│ │ ├── CareerJobComponent.php
│ │ ├── CareerCategoryComponent.php
│ │ ├── CareerResumeComponent.php
│ │ └── CareerApplicationComponent.php
│ ├── Mail/ ← YENİ: Mail sınıfları
│ │ ├── ApplicationSubmittedMail.php
│ │ ├── ApplicationViewedMail.php
│ │ ├── ApplicationInterviewMail.php
│ │ ├── ApplicationRejectedMail.php
│ │ ├── ApplicationHiredMail.php
│ │ └── NewApplicationMail.php
│ ├── Services/
│ │ ├── CareerJobService.php
│ │ ├── CareerResumeService.php
│ │ ├── CareerApplicationService.php
│ │ └── CareerMailService.php ← YENİ: Mail gönderim servisi
│ └── Observers/
│ └── CareerApplicationObserver.php ← Mail tetikleme
├── database/migrations/tenant/
│ ├── xxxx_create_career_categories_table.php
│ ├── xxxx_create_career_jobs_table.php
│ ├── xxxx_create_career_resumes_table.php
│ └── xxxx_create_career_applications_table.php
├── resources/views/
│ ├── admin/livewire/...
│ └── emails/ ← Mail template'leri
│ ├── application-submitted.blade.php
│ ├── application-viewed.blade.php
│ ├── application-interview.blade.php
│ ├── application-rejected.blade.php
│ ├── application-hired.blade.php
│ └── new-application.blade.php
└── routes/
├── web.php
└── admin.php