Skip to content

Layered Architecture RentCarSystem using SQL Server, EntityFramework

Notifications You must be signed in to change notification settings

ZootHii/RentCarSystem

Repository files navigation

ZootHii Linkedin


RentCarSystem

Layered Architecture Rent Car System Back-End.

Built With

  • C#
  • EntityFramework
  • Autofac (Aspect Orianted Programming, Dependency Injection)
  • FleuntValidation
  • IoC (Inversion of Control)
  • Microsoft CacheMemory

Specifications

  • Security (Encryption, Hashing, TokenCreation (JWT : Json Web Token))
  • Result (SuccessResult, ErrorResult, SuccessDataResult, ErrorDataResult)
  • IoC (CoreModule : Dependency Resolving for core Microsoft, ServiceTool)
  • Interceptor (Aspects Control)
  • Files (FormFile, File operations)
  • Aspects Attribute (Cache, Performance, Transaction, Validation)

Tables

Cars

Name Data Type Allow Nulls
ID int NOT NULL
BrandID int NOT NULL
ColorID int NOT NULL
ModelYear date NOT NULL
DailyPrice money NOT NULL
Description varchar(50) True

CarImages

Name Data Type Allow Nulls
ID int NOT NULL
CarID int NOT NULL
ImageName varchar(100) NOT NULL
UploadDate datetime NOT NULL
ImagePath varbinary(MAX) NOT NULL

Brands

Name Data Type Allow Nulls
ID int NOT NULL
BrandName varchar(25) NOT NULL

Colors

Name Data Type Allow Nulls
ID int NOT NULL
ColorName varchar(25) NOT NULL

Customers

Name Data Type Allow Nulls
ID int NOT NULL
UserID int NOT NULL
CompanyName varchar(25) NOT NULL

Rentals

Name Data Type Allow Nulls
ID int NOT NUL
CarID int NOT NUL
CustomerID int NOT NUL
RentDate datetime NOT NUL
ReturnDate datetime NULL

Users

Name Data Type Allow Nulls
ID int NOT NUL
FirstName varchar(25) NOT NUL
LastName varchar(25) NOT NUL
EMail varchar(25) NOT NUL
PasswordHash varbinary(500) NOT NUL
PasswordSalt varbinary(500) NOT NUL
Status bit NOT NUL

OperationClaims

Name Data Type Allow Nulls
ID int NOT NUL
Name varchar(250) NOT NUL

UserOperationClaims

Name Data Type Allow Nulls
ID int NOT NUL
UserID int NOT NUL
OperationClaimID int NOT NUL

Releases

No releases published

Packages

No packages published

Languages