• Stars
    star
    116
  • Rank 303,894 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

𝙲𝚊𝚛 𝚁𝚎𝚗𝚝𝚊𝚕 𝙿𝚛𝚘𝚓𝚎𝚌𝚝 - 𝙱𝚊𝚌𝚔𝚎𝚗𝚍

Car Rental Backend 🚘 🔑


a+l


Contact Me 📫




Bu proje Araba Kiralama Sistemi ile ilgili bir projedir.Proje hem Çok katmanlı, hem Kurumsal Mimariler, hem de SOLID prensiplerine dayalı bir projedir.Önümüzdeki süreçlerde de projeye eklemeler yapılarak daha güzel bir proje haline getirilecektir.Kampda verilen adımlara uygun olarak gerçeklekleştirdiğim bu projeyi yakından inceleyelim.



Katmanlar

  • Öncelikle Proje 6 katmandan oluşmaktadır: Business, DataAccess, Entities, ConcoleUI, Core, WebAPI

katmanlar

1.Business Katmanı- Burada işle ilgili(iş kuralları) kodlar yer alır.Bu katman Abstract ve Concrete isimli klasörlerden oluşur.Abstract içinde soyut(yani interfaceler), Concrete içinde somut(yani class'lar) nesneler yer alır.

business

  • Sarı kutucuk - NuGet paketi --> Başkalarının yazdığı kodları(paket diyoruz) kullanıyoruz.Bu kodların ortak tutulduğu ve yönetildiği ortamın adına denir.
  • Kırmızı kutucuk - Business katmanının referans aldığı katmanlar
  • Yeşil kutucuk - Abstract klasörü içinde yer alan interface'ler
  • Mavi kutucuk - Abstract klasörü içindeki interface'lerin implemente edildiği yer

2.DataAccess Katmanı- Veriye erişmek için gerekli kodlar yazılan bu katman Abstract(soyut) ve Concrete(somut) isimli klasörlerden oluşur.

dataaccess

  • Kırmızı kutucuk - DataAccess katmanının referans aldığı katmanlar
  • Yeşil kutucuk - Abstract klasörü içinde yer alan interface'ler
  • Mavi kutucuk - Abstract klasörü içindeki interface'lerin implemente edildiği yer.Aynı zamanda burda IEntityFramework isimli klasörde biz veri tabanı nesneleriyle(kısaca tablolarla) yazdığımız kodlar arasında bağ kuruyoruz.

EntityFramework --> Veri tabanı tablolarıyla Nesne Yönelimli Programlama(OOP) arasında bir köprüdür.

  • Sarı kutucuk - NuGet paketi --> Başkalarının yazdığı kodları(paket diyoruz) kullanıyoruz.Bu kodların ortak tutulduğu ve yönetildiği ortamın adına denir.

3.Entities Katmanı - Veri tabanı nesneleri için oluşturulmuş olan bu katman Abstract(soyut) ve Concrete(somut) isimli klasörlerden oluşur.

entities

  • Sarı kutucuk - NuGet paketi --> Başkalarının yazdığı kodları(paket diyoruz) kullanıyoruz.Bu kodların ortak tutulduğu ve yönetildiği ortamın adına denir.
  • Mavi kutucuk - Abstract klasörü içindeki interface'lerin implemente edildiği yer

4.ConsoleUI Katmanı - Yaptığımız işlemlerin sonuçlarını göreceğimiz bir katman

consoleui

  • Kırmızı kutucuk - ConsoleUI katmanının referans aldığı katmanlar
  • Turuncu kutucuk - Bura main kısmıdır.Yani en sonda uyguladığımız işlemlerin sonucunu buradan görüyoruz.

5.Core Katmanı - Yaptığımız işlemlerin sonuçlarını göreceğimiz bir katman

core

6.WebAPI Katmanı - Yaptığımız işlemlerin sonuçlarını göreceğimiz bir katman

webapi



Database and Tables

  • Bir database(veri tabanı) oluşturmak için:
CREATE DATABASE ReCapDb

1 2


  • Tabloları oluşturmak için: ReCapDb --> Sağ CLick --> New Query
Create table Brands(
	BrandId	 int Primary key,
	BrandName varchar(50)
)


Create table Colors(
	ColorId	 int Primary key,
	ColorName varchar(20)
)



Create table Cars(
	Id int Primary key identity,
	BrandId int,
	ColorId int,
	ModelYear int,
	DailyPrice decimal,
	Descriptions varchar(200),
	Foreign key(ColorId) References Colors(ColorId),
	Foreign key(BrandId) References Brands(BrandId)
)

DİKKAT!!! nvarcahr yerine varchar kullanmak daha performanslı.Çünkü varchar kullanmadığımız karakter alanlarını boş bıraktığı halde, nvarchar onu boşluklarla doldurarak ekstradan bellek kaplamasına sebep oluyor

d1


  • Tabloya veri eklemek için: ReCapDb --> Sağ CLick --> New Query
Insert into Brands(BrandId,BrandName) values (1,'Audi'),(2,'BMW'),(3,'Hyundai'),(4,'Mitsubishi'),(5,'Nissan'),(6,'Mazda'),(7,'Porsche');

Insert into Colors(ColorId,ColorName) values (1,'Black'),(2,'White'),(3,'Silver'),(4,'Blue'),(5,'Red'),(6,'Brown'),(7,'Green');

Insert into Cars(BrandId,ColorId,ModelYear,DailyPrice,Description) values
(1,5,'2020',450,'AUDI Q8 - Red'),
(2,2,'2018',370,'BMW 2 Gran Coupé - White'),
(3,4,'2015',250,'HYUNDAI i10 - Blue'),
(4,7,'2016',290,'Mitsubishi Outlander - Green'),
(5,6,'2017',350,'NISSAN QASHQAI - Brown'),
(6,3,'2019',630,'MAZDA CX-5 - Silver'),
(7,1,'2021',720,'PORSCHE P911 Turbo S - Black');

More Repositories

1

RecapProjectFrontend

𝙲𝚊𝚛 𝚁𝚎𝚗𝚝𝚊𝚕 𝙿𝚛𝚘𝚓𝚎𝚌𝚝 - 𝙵𝚛𝚘𝚗𝚝𝚎𝚗𝚍
TypeScript
46
star
2

HRMS

░▒▓█ 𝑯𝒖𝒎𝒂𝒏 𝑹𝒆𝒔𝒐𝒖𝒓𝒄𝒆𝒔 𝑴𝒂𝒏𝒂𝒈𝒆𝒎𝒆𝒏𝒕 𝑺𝒚𝒔𝒕𝒆𝒎 𝑷𝒓𝒐𝒋𝒆𝒄𝒕 █▓▒░
Java
33
star
3

Customer-Management-System-for-Coffee-Shops

𝐂𝐨𝐟𝐟𝐞𝐞 𝐒𝐡𝐨𝐩𝐬
C#
32
star
4

Play_Store_Demo

𝑃𝑙𝑎𝑦 𝑆𝑡𝑜𝑟𝑒 𝐷𝑒𝑚𝑜
C#
30
star
5

rzayevsahil

𝐌𝐲 𝐩𝐫𝐨𝐟𝐢𝐥𝐞 𝐑𝐄𝐀𝐃𝐌𝐄
27
star
6

MyDictionary

𝓒# 𝓓𝓲𝓬𝓽𝓲𝓸𝓷𝓪𝓻𝔂
C#
22
star
7

JavaCamp

★ 𝓙𝓪𝓿𝓪 𝓒𝓪𝓶𝓹 ★
Java
18
star
8

ClassMetotDemo

𝒞ℓ𝒶𝓈𝓈 ℳℯ𝓉ℴ𝓉 𝒟ℯ𝓂ℴ
C#
18
star
9

HRMS-React-Frontend

JavaScript
15
star
10

ReactCamp

JavaScript
11
star
11

yazilimcierkek.github.io

Kişisel Portfolio
HTML
5
star
12

Koc-Hospital-Clone-Frontend

JavaScript
5
star
13

MvcOnlineTicariOtomasyon

JavaScript
4
star
14

_KampIntro

▁ ▂ ▄ ▅ ▆ 𝑪# 𝑪𝒂𝒎𝒑 ▇ ▆ ▅ ▄ ▂ ▁
C#
4
star
15

JS

HTML
4
star
16

KTU-ders-notlar-

4
star
17

Asp.Net_Core_5.0_Proje_Kamp

Youtube - Murat Yücedağ (Asp.Net Core 5.0 Proje Kampı)
HTML
3
star
18

InstagramCloneWithIOS

3
star
19

KTU-ders-notlari

3
star
20

DesignPattern.CQRS

C#
3
star
21

Spotify-control-project-with-eye-movements

A project designed for people with disabilities
Jupyter Notebook
3
star
22

Pinterest-Insta-clone

Java
2
star
23

PersonelProject

CSS
2
star
24

Kamp-frontend

𝐾𝑎𝑚𝑝 𝑃𝑟𝑜𝑗𝑒𝑐𝑡 𝐹𝑟𝑜𝑛𝑡𝑒𝑛𝑑
TypeScript
2
star
25

TodoList-Electronjs-Applicaton

JavaScript
2
star
26

Unit_of_Work_Design_Pattern

C#
2
star
27

Css-ve-Css3-Egitimi

HTML
2
star
28

Observer_Design_Pattern

C#
2
star
29

Secim_Api

C#
2
star
30

Crm_UILayers

JavaScript
2
star
31

DES---Digital-Signature---RSA

C#
2
star
32

PharmacyAutomation

This project is about Pharmacy Automation
C#
2
star
33

SignalR_Project

C#
2
star
34

Python

Python
1
star
35

TodoList-React-Application

CSS
1
star
36

EasyCashIdentity

HTML
1
star