Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/firatlogoglu/mvc_bilgehotel
https://github.com/firatlogoglu/mvc_bilgehotel
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/firatlogoglu/mvc_bilgehotel
- Owner: firatlogoglu
- Created: 2020-01-12T11:37:15.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-08-24T02:19:23.000Z (over 1 year ago)
- Last Synced: 2023-08-24T04:39:00.510Z (over 1 year ago)
- Language: JavaScript
- Size: 1.14 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadME.md
Awesome Lists containing this project
README
# Bilge Hotel MVC Projesi
## Oluşturulan Katmanlar
### 1 - MVC_BilgeHotel.CORE
#### 1.1 - Entity
* IEntity: Tüm entitylerimizde yer alan ID'yi T tipine verdim, böylece dışardan herhangi bir tip alabilecek.
* CoreEntity: Tüm etitylerimizde yer alacak özellikler (Genel Durum vs.) tanımladım. Burda ID'yi Guid tipini verdim. Bu class ilk tetiklendiğinde otomatik olarak: Genel Durum(GenerelStatus) = Aktif. Oluşturma tarihi, Uuşturan kişinin çeşitli bilgileri burada otomatik olarak ctor metotuyla doldurulacak.
* PersonEntity: Model katmanında yer alan Çalışan ve Müşterilerde bulunan ortak özellikler bulunur.
#### 1.2 - Enums
* GeneralStatus(Genel Durumlar): Aktif, Update ve Deleted. Enum listesi olarak tanımlanıp 1.1 Entity içerisindeki CoreEntity içerisine verilmiştir.
* Gender(Cinsiyet): Male(Erkek) ve Female(Kadın). Bu Enum listesi 1.1 Entity içerisindeki PersonEntitye verilmiştir.
#### 1.3 - Map
* CoreMap: CoreEntity içerisindeki özelliklere çeşitli isimledirmeler ve sınırlandırılmalar verilmiştir.
### 2 - MVC_BilgeHotel.MODEL
#### 2.1 - Entities
* 2.1.1 Booking
* 2.1.2 CustomerBooking
* 2.1.3 Customer
* 2.1.4 Employee
* 2.1.5 Room
* 2.1.6.1 VMs
* 2.1.6.1.1 RoomBookingVM
* 2.1.6.1.2 CustomerBookingsVM
#### 2.2 - Enums
* Roles
* RoomStatus
* RoomTypes
#### 2.3 - Map
* RoomMap:
* CustomerMap:
* EmployeeMap:
* BookingMap:
* CustomerBookingMap
#### 2.4 - Context
* ProjectContext: Context nesnemizdir.
* SampleData: Örnek verilerimizin bulunduğu classtır.
#### 2.5 - Migrations
* Configuration içerisine 2.4 Context içerisinde yer alan SampleData instance alınarak Seed metotun içerisine verilmiştir.
### 3 - MVC_BilgeHotel.SERVICE/BLL (İş Katmanı)
#### 3.1 - Base
* BaseSerice: Tüm Etitylerde bulunan belli başlı CRUD ve Listeleme işlemleri tanımlanmıştır.
#### 3.2 - Options
* RoomService:
* EmployeeService:
* CustomerService:
* CustomerBookingService
* BookingService:
### 4 - MVC_BilgeHotel.WEBUI (Sunum Katmanı)
#### 4.1 - Giriş Sayfası - Controllers/Home
* Areasız(bölgesiz) olarak tanımlanmıştır. Home Controllerin içerisinde Index, About, Contact ve ManagerIndex isimli ActionResultlar bulunuyor. ManagerIndex Hotel personline ait olan Arealarda bulunun Login sayfalarına yönlerimesini yapar.
* Views içerisinde bulunan Home Controller'ına ait olan Viewler bulununur.
* Views içerisinde bulunan Shared klasörü içersinde bulunan: _Layout, Giriş sayfasının Layout'tıdır.
* Views içerisinde bulunan Shared klasörü içersinde bulunan: PartialViews klasörü içerisinde yer alan: _Footer ve _TopNavbar parçalı viewleri tüm arealarda ve areasız kısımda görülecek Footer ve Üst menüyü bu kısımda yer alır.#### 4.2 - Areas (Alanlar)
* BookingC:
* BooingManagement:
* HotelBooingManagement:#### 4.3 - Filters
* AuthorizationFilters: Personel ve Müşterilere ait sayfaların giriş yapılmamaksızın girilmesini engellemek için fiterlar uygulanmıştır.### 5 - MVC_BilgeHotel.COMMON
#### Tools/Araçlar
* ImagesUploader/Resim Yükleyicisi
* MailSender/E-Posta Göndericisi### 6 - MVC_BilgeHotel.STATICMASSAGES
#### Error Messages
#### Information Messages
#### Successful Messages### 7 - MVC_BilgeHotel.API (Sunum Katmanı)
#### Controllers
* HomeController: FullRoomsCustomers, O günkü odalarda kalan müşterileri XML formatında getirir.## Çalıştırılmadan Önce Yapılacak Ayarlar
* 1.) MVC_BilgeHotel.WEBUI ve MVC_BilgeHotel.API ilk etapta başlangıç projeleri olarak ayarlanması gerekiyor: Çözüm Gezgini'de (Solution Explorer'da) “Solution 'MVC_BilgeHotel'/Çözüm 'MVC_BilgeHotel' ” e Sağ tıklayıp. “Set StartUp Projects.../Başlangıç Projelarini Olarak Ayarla...” ya tıklayın. “Birden fazla başlangıç projesi:/Multiple startup projects” seçin. Ardından MVC_BilgeHotel.WEBUI ve MVC_BilgeHotel.API projelerin Action/Eylem kısmına Start/Başla yapıp “OK/Tamam” a tıklayın.* 2.) SQL Database Server'ın yolu varsayılan olarak ayarlıdır ("server=.;database=MVCBilgeHotelDB;uid=sa;pwd=123"). Bu yolu, MVC_BilgeHotel.MODEL/Context/ProjectContext.cs dosyası içerisinde değiştirebilirsiniz.
* 3.) NuGet Paket Konsol Yöneticisini kullanarak veritabanını basılması gerekiyor.
* 4.) Bu programın e-posta gönderebilmesi (gönderici) için, MVC_BilgeHotel.COMMON/Tools/MailSender.cs dosyasının ayarlanması gerekiyor.
* 5.) SampleData içerisindeki veriler kullanıcaksa, sahte (fake) e-posta adreslerine, e-posta gönderecektir. Bu e-posta adresleri gerçek kişi/kurumlara ait olabilir. Bunu engellemek için, MVC_BilgeHotel.COMMON/Tools/MailSender.cs dosyası içerisindeki //email = ""; yorum satırından çıkarılıp, içerisine alcı e-posta adresi olarak kendi e-posta adresinizi eklemek zorundasınız.
* 6.) Proje, ilk kez çalıştırılmasında "...\MVC_BilgeHotel\MVC_BilgeHotel.WEBUI\bin\roslyn\csc.exe' yolunun bir parçası bulunamadı." hata verirse, "bin" klasörünü silin.
## Projedeki Eksik Yerler
* 1.) Kampanya ve paket işlemleri ve sayfaları tamamlanacak.* 2.) Bilet(Ticket), Ödeme PDF/Yazdırma işlemleri ve sayfaları tamamlanacak.
* 3.) SpecialDays (Özel Günler) için, resim veya fotoğraf bulunacak.
* 4.) MVC_BilgeHotel.API tarafında güvenlik için Token tanımlaması yapılacak.