HenDev Rent A Car
Project Bundle Links Backend-C# || FrontEnd-Angular || [Mobile App-Kotlin TBA]
Planlanan Değişiklikler
-
Error Handling
-
UI improvement
-
Admin Panel and Managment Refactoring.
-
Cleaning smelly codes
-
Forward Plan : Adding App for Mobile(Android)
Güncelleme Geçmişi
21.Gün Sonu:
- Local storage servisleri eklendi (Set Get Remove)
- Müşteri Findex puanı sorgulama ve bu puana göre seçilen aracı kiralayıp kiralayamama kontrolü sağlandı.
- Müşteri Login Register Logout ve Profil sayfası eklendi.
- Ödeme yapılan kredi kartını kaydetme seçeneği eklendi.
- Admin paneli oluşturuldu. [Geliştirilecek]
20.Gün Sonu:
- Ekleme ve güncelleme işlemleri eklendi.
- Tüm sayfalara Toastr desteği eklendi.
- Error Middleware eklendi [Diğer alanlarda hataya sebep olduğu için çıkarıldı.Düzenleme yapılıyor.]
19.Gün Sonu:
- Gelişmiş Filtreleme İşlemleri
- HTML de Pipe ile Discount eklendi
- Araç kiralama imkanı sağlandı. Belirtilen tarih aralığında aracın kiralanıp kiralanmadığı sorgulanması sağlandı.
- Önceden kiralanan tarihler DatePicker da [Disabled] hale getirildi. (Bununla çok uğraştım)
- Kredi kartı ile ödeme similasyonu dahil edildi
18.Gün Sonu:
- HTML <=> Component etkileşimi sağlandı
- Temel Filtreleme işlemleri yapıldı.
17.Gün Sonu:
- API Entegrasyon ve Listeleme İşlemleri tamamlandı.
- Bootstrap projeye dahil edildi.
16.Gün Sonu:
- Angular Cli Giriş
15.Gün Sonu:
- JWT Entegrasyonu düzenlemesi yapıldı.
- Caching Aspectleri devreye alınıp test edildi.
- Basit ama etkili Performans Aspecti hazırlanıp test edildi.
- Transactional işlemler için altyapı oluşturulup basit durumlar için test senrayosu eklendi.
- Api Dependency Injectionlar Core tarafında çözümlenmesi sağlandı.
14.Gün Sonu:
- Authorization JWT Entegrasyonu Yapıldı.
- Login işlemleri sonrası Postman ile Token oluşturulduğu test edildi.
13.Gün Sonu:
- UploadPreocessHelper classı olusturlarak tum dosyalama işlemlerinin burda yapılması sağlandı.
- Kopyalama sonrası önceki resim yolundan dosyanın silinmesi sağlandı.
- BusinessRules Classı oluşturularak tüm iş kuralları buradan çağrılması sağlandı.
- Resim Ekleme Base işlemleri yapıldı.
- Resimler GUID ile proje içerisine kopyalanması ve veri tabanına Path in yazılması sağlandı.
- Validasyon Testi her araç için 5 resim olacak şekilde sınırlandırıldı.
- Resim olmayan araçlara default logo gösterilmesi sağlandı.
- Farklı senaryolar ile tüm testler yapıldı sorunsuz çalışıyor.
Bilnen Hatalar
- Ödeme sayfaları arasında iler geri gidilebiliyor veya onceden kaydedilmiş ise direk ilgili alan yükleniyor.
- İlk ekranda Login olunduğunda kullanıcı ayarlarının tamamen yüklenebilmesi için root Refresh yapılması gerekebiliyor.
- Error Handling API ile düzhün haberleşemiyor.
- Hata tespit edilmedi.
- Auth Login şifre doğru olmasına rağmen hatalı dönüş yapıyor.
- Add Entity Güvenlik adımlarına takılarak ekleme işlemi yapmıyor.
- Validasyon başarılı olsa da olmasa da dosya klasöre kopyalanıyor fakat veri tabanına yazmıyor.
- Resim Güncelleme işlemi sonrasında path veri tabanına yansıyor yeni dosyayı kopyalıyor fakat eski dosya silinmiyor.
- Tüm işlemler ImageUpload tarafında yapılarak Api tarafına sadece CarImage nesnesi döndürmeye çalışılıyor.
- Araca ait resim olmaması durumunda default image dönmüyor.
- ImageUpload işlemlerinin yapıldığı class web abi tarafında newlenerek kullanılabiliyor. Olması gereken yapıya göre değiştirilmeye çalışılıyor.
Engin Demiroğ'a Sonsuz Teşekkürler.
SQL Queries
Last Updated Queries
CREATE TABLE [dbo].[Users]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[FirstName] VARCHAR(50) NOT NULL,
[LastName] VARCHAR(50) NOT NULL,
[Email] VARCHAR(50) NOT NULL,
[PasswordHash] VARBINARY(500) NOT NULL,
[PasswordSalt] VARBINARY(500) NOT NULL,
[Status] BIT NOT NULL
)
CREATE TABLE [dbo].[OperationClaims]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Name] VARCHAR(250) NOT NULL
)
CREATE TABLE [dbo].[UserOperationClaims]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[UserId] INT NOT NULL,
[OperationClaimId] INT NOT NULL
)
CREATE TABLE [dbo].[Payments](
[Id] [int] IDENTITY(1,1) NOT NULL,
[CarId] [int] NULL,
[CustomerId] [int] NULL,
[DailyPrice] [decimal](18, 0) NULL,
[DaysForRent] [nvarchar](50) NULL,
[TotalPrice] [decimal](18, 0) NULL,
[PaymentDay] [datetime] NULL,
CONSTRAINT [PK_Payments] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Süreç Takibi
Gün | Ders Programı | Yayın Linki |
---|---|---|
1 | Python Basic | Day 01 |
2 | Değişkenler, Şart Blokları | Day 02 |
3 | Algoritmik Örnekleme ve Altyapı Pekiştirme | Day 03 |
4 | Nesne Yönelimli Programlamaya Giriş | Day 04 |
5 | Nesne Yönelimli Programlamada Uzmanlaşma | Day 05 |
6 | Veritabanı Oluşturma ve Temelleri | Day 06 |
7 | LinQ Veri Sorgulama Teknikleri | Day 07 |
8 | Entity Framework | Day 08 |
9 | Çok Katmanlı Mimariler | Day 09 |
10 | Web API Giriş | Day 10 |
11 | Web API İleri Seviye | Day 11 |
12 | Aspects | Day 12 |
13 | İş Kuralları Oluşturma | Day 13 |
14 | Kullanıcı İşlemleri Authorization PasswordHash | Day 14 |
15 | Cache, Transaction, API Injection | Day 15 |
16 | Frontend Angular Giriş | Day 16 |
17 | Bootsrap | Day 17 |
18 | API İletişimi ve Observable Data Response Model | Day 18 |
19 | HTML <==> Component Veri Gönderimi | Day 19 |
20 | Validation Error Handling | Day 20 |
21 | Guard ve Authorization Entegrasyonu | Day 21 |