Bu proje, kullanıcıların (hastalar, doktorlar ve yöneticiler) hastane randevularını yönetmelerini sağlayan bir sistemdir. Sistem, kullanıcı kayıt ve giriş işlemleri, profil yönetimi, randevu alma ve yönetimi gibi birçok özelliği içermektedir.
- Bilgi
- Proje Tanımı
- Kullanılan Teknolojiler
- Başlangıç
- Kullanım
- Geliştirme Aşamasında Neler Var?
- Katkıda Bulunma
- Screenshots
- Lisans
Bu proje, Angular CLI kullanılarak oluşturulmuştur. Angular CLI kullanımı ile ilgili bazı temel bilgileri aşağıda bulabilirsiniz.
Geliştirme sunucusunu çalıştırmak için ng serve komutunu kullanın. http://localhost:4200/ adresine gidin. Uygulama, kaynak dosyalarında yaptığınız değişikliklerle otomatik olarak yeniden yüklenecektir.
Yeni bir bileşen oluşturmak için ng generate component component-name komutunu kullanın. Ayrıca ng generate directive|pipe|service|class|guard|interface|enum|module komutlarını da kullanabilirsiniz.
Projeyi derlemek için ng build komutunu kullanın. Derleme çıktıları dist/ dizininde saklanacaktır.
Birim testlerini çalıştırmak için ng test komutunu kullanın. Bu testler Karma üzerinden yürütülecektir.
Uçtan uca testleri çalıştırmak için ng e2e komutunu kullanın. Bu komutu kullanmak için, önce uçtan uca test yeteneklerini sağlayan bir paketi eklemeniz gerekmektedir.
Angular CLI hakkında daha fazla yardım almak için ng help komutunu kullanın veya Angular CLI Genel Bakış ve Komut Referansı sayfasına göz atın.
Hastane Randevu Sistemi, hastaların, doktorların ve yöneticilerin randevu işlemlerini kolaylaştırmak amacıyla geliştirilmiştir. Kullanıcılar sisteme kayıt olup giriş yapabilir, profillerini yönetebilir, doktorların uygunluk durumuna göre randevu alabilir ve yönetebilirler. Doktorlar kendi çalışma takvimlerini belirleyebilir ve randevularını yönetebilir. Yöneticiler ise sistemdeki tüm kullanıcıları ve randevuları yönetebilir, sistemin kullanım istatistiklerini görüntüleyebilir.
- ASP.NET Core 8
- C#
- Fluent Validation
- Entity Framework Core
- AutoMapper
- Newtonsoft.Json
- Mediatr
- Json Web Token
- Web API
- Swagger
- MsSQL
- MailKit - MimeKit
- Angular 17
- Typescript
- Bootstrap
- SweetAlert
- Toastr
- ngx-spinner
- RxJS
- auth0/angular-jwt
- FullCalendar
- ChartJS
- jQuery
- Clean Architecture
- Code First
- CQRS
- OOP
- SOLID
- AOP
- IoC
- Fluent API
Projenizi yerel ortamda çalıştırmak için aşağıdaki yazılımlara ihtiyacınız olacak:
- Node.js
- .NET SDK
- Visual Studio veya Visual Studio Code (Backend için)
- Projeyi klonlayın:
git clone https://github.com/arifiskilip/appointment-system-frontend.git
- Proje Dizini İçine Girin:
cd AppointmentSystemFrontend - Bağımlılıkları yükleyin:
npm install
- Geliştirme Sunucusunu Başlatın:
ng serve
- Tarayıcıda Açın: Tarayıcınızda 'http://localhost:4200/' adresine gidin.
- Projeyi klonlayın:
git clone https://github.com/arifiskilip/Pair6_AppointmentSystem.git
- Visual Studio'yu açın ve 'Open Project/Solution' ile projeyi açın.
- 'Solution Explorer' penceresinde 'WebAPI' projesini sağ tıklayın ve 'Set as Startup Project' seçeneğini belirleyin.
- Visual Studio'da 'Package Manager Console' penceresini açın.
- 'Persistence' projesini seçin ve aşağıdaki komutu çalıştırarak veritabanı güncellemelerini gerçekleştirin:
-
update-database
- 'Start' düğmesine basarak uygulamanızı başlatın ve çalıştığından emin olun.
- Terminali açın ve proje klasörüne gidin:
cd path/to/AppointmentSystemFrontend - Bağımlılıkları yükleyin:
npm install
- Frontend'i başlatmak için:
ng serve
- 'Start' düğmesine basarak uygulamanızı başlatın ve çalıştığından emin olun.
Kullanıcılar (hastalar, doktorlar ve yöneticiler) sisteme kayıt olabilir ve giriş yapabilir. Kullanıcı kayıt sırasında ad, soyad, e-posta, telefon numarası ve şifre bilgileri girilir. Giriş için kullanıcı adı (e-posta) ve şifre kullanılır.
Kullanıcılar kendi profil bilgilerini görüntüleyebilir ve günceller.. Kullanıcılar kişisel bilgilerini (adres, telefon numarası vb.) günceller. Şifre değiştirme özelliği vardır.
Hastalar, doktorların uygunluk durumuna göre randevu alabilir. Randevu tarih ve saat seçimi yapabilir. Randevu alındıktan sonra, kullanıcılara e-posta ile bilgilendirme yapılır.
Hastalar randevu alabilir ve mevcut randevularını görüntüleyebilir. Hastalar randevularını iptal edebilir. Doktorlar kendi randevu takvimlerini görüntüleyebilir. Yöneticiler sistemdeki tüm randevuları görüntüleyebilir ve yönetebilir.
Doktorlar kendi çalışma takvimlerini belirleyebilir. Doktorlar mevcut randevuları ve boş saat dilimlerini görebilir.
Hastalar, geçmiş randevularını ve doktor raporlarını görüntüleyebilir. Doktorlar, hastaların geçmiş randevu bilgilerine ve raporlarına erişebilir.
Hastalara ve doktorlara yaklaşan randevuları hakkında bildirim gönderilir. Bildirimler e-posta yoluyla yapılır.
Yöneticiler, sistemdeki tüm kullanıcıları ve randevuları yönetebilir. Yöneticiler kullanıcıların bilgilerini düzenleyebilir.
Yöneticiler, sistemin kullanım istatistiklerini ve raporlarını görüntüleyebilir. Randevu sayısı, kullanıcı sayısı gibi metrikler raporlanabilir.
Kullanıcı bilgileri ve iletişim bilgileri şifrelenmiş bir şekilde saklanır. (Encryption)
Sistem farklı kullanıcı rolleri (hasta, doktor, yönetici) için yetkilendirme mekanizması içerir. Her rolün erişim hakları tanımlıdır.
Kullanıcılar sistemle ilgili yardım ve destek alabilecekleri bir bölüm bulunur. Sıkça Sorulan Sorular (SSS) bölümü.
Kullanıcılar sistemle ilgili geri bildirim ve önerilerde bulunabilir. Geri bildirimler yöneticiler tarafından görüntülenir.
- Yeni özellikler ve iyileştirmeler
- Daha kapsamlı dokümantasyon
- Daha fazla güvenlik önlemi eklenmesi
- Mobil uygulama geliştirilmesi
- Daha detaylı raporlama ve analiz araçları vb.
Katkıda bulunmak istiyorsanız, lütfen bir pull request açmadan önce bir issue açarak neyi değiştirmek veya eklemek istediğinizi tartışın. Her türlü geri bildiriminiz için teşekkür ederiz! Projeye katkıda bulunmak isterseniz aşağıdaki adımları izleyebilirsiniz:
- Bu projeyi forklayın.
- Forkladığınız projeyi klonlayın:
git clone https://github.com/kullanıcı-adı/hastane-randevu-sistemi.git
- Yeni bir dal (branch) oluşturun:
git checkout -b özellik-isim
- Yaptığınız değişiklikleri commitleyin:
git commit -m 'Yeni özellik ekleme' - Değişiklikleri dalınıza push edin:
git push origin özellik-isim
- Bir pull request açın.
Bu proje MIT Lisansı ile lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.