Giter VIP home page Giter VIP logo

full-stack-rent-a-car-system's Introduction

Full-Stack-Rent-A-Car-System

alt text

Hi everyone ๐Ÿ‘‹
Welcome to the Rent A Car System project developed as Full Stack.

This project has been developed based on Multi-Layered Architecture. SOLID software principles have been adopted in the project. Front-End part is coded with Angular, Back-End part is coded with C#. MSSQL Local Database is used for the database. In addition, a Web API has been coded in service layer to communicate with the Front-End side of the project and other applications. I would like to tell you about the main features of the project.

Database

MSSQL Localdb was used for database in the project. To create the database, click "View > SQL Server Object Explorer" on Visual Studio 2019, a new panel will open on the left. From this panel, follow the path of "SQL Server > (localdb)\MSSQLLocalDB", right click on the "Databases" folder in the folders opened below, select "Add New Database" and create your database. (I have chosen "RentACarSystem" as database name)

alt text

Then, right click on the created database and select the "New Query" option and execute the table creation commands here. Thus, the tables required for the project will be created. You can add data manually from the opened page by right clicking on the created tables and selecting "View Data".

alt text


๐Ÿ“Œ ER Diagram of database:

alt text


Back-End

C# was used in the back-end part of the project. Development was made on the basis of multi-layered architecture. I want to give information about what layers do;
1-Entities Layer: It is where the classes of objects to be used throughout the program are defined. Each of the classes in this layer corresponds to a table in the database, in addition to these, it also contains DTO (Data Transfer Object) classes in which data from different tables are joined.
2-Data Access Layer: It is the layer on which database connections and operations are made. Required configuration for database connection is done here. Also, operations such as data extraction, addition, deletion, and updating are encoded in this layer.
3-Business Layer: It is the layer where business rules are defined and controlled. When a command comes to the program, what actions it should perform and which set of rules it should pass through are defined here. Cross-Cutting Concerns are triggered in this layer.
4-Core Layer: It is the part where structures, cross-cutting concerns, aspects, extensions and tools to be used in common in all layers are coded.
5-Presentation Layer: It is the layer that appears to the user, that the user interacts with and sends commands to the program.
6-Service Layer (Web API): It is the part where the services that enable the Front-End part and other platforms to communicate with the program and perform operations are written.

๐Ÿ“Œ General scheme of the project:

alt text

Requirements for Back-End

Package Name Version
Autofac 6.1.0
Autofac.Extensions.DependencyInjection 7.1.0
Autofac.Extras.DynamicProxy 6.0.0
FluentValidation 9.5.1
Microsoft.AspNetCore.Authentication.JwtBearer 3.1.12
Microsoft.AspNetCore.Http 2.2.2
Microsoft.AspNetCore.Http.Abstractions 2.2.0
Microsoft.EntityFrameworkCore.SqlServer 3.1.12
Microsoft.Extensions.Configuration 5.0.0
Microsoft.IdentityModel.Tokens 6.8.0
NETStandard.Library 2.0.3
Newtonsoft.Json 12.0.3
System.IdentityModel.Tokens.Jwt 6.8.0

Front-End

Angular 11 was used in the front-end part of the project. Throughout the development, Visual Studio Code has been worked on as IDE. Bootstrap has been integrated to achieve a responsive design. Also used Font-Awesome. BrowserModule, HttpClientModule, AppRoutingModule, FormsModule, ReactiveFormsModule, BrowserAnimationsModule and ToastrModule were used as modules in Angular. On the Front-End side, more attention was paid to whether the process is working correctly rather than the design.

WARNING! For Front-End side to work, you need to set WebAPI as "Set as Startup Project" on Back-End side 
and start it with IIS Express. Then you have to follow the steps below.

1- First, you need to install the Node modules used in the project.

npm install

2- Finally, we will open a new terminal and run the project on localhost.

ng serve --open

๐Ÿ“Œ Some images from the project:

alt text
alt text
alt text
alt text
alt text
alt text
alt text
alt text
alt text


Contact

Thank you for taking your time to read. You can contact me from my accounts below.

alt text

alt text


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.