Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/firatlogoglu/mvc_bilgehotel


https://github.com/firatlogoglu/mvc_bilgehotel

Last synced: about 2 months ago
JSON representation

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.