- Presentation
- Installs
- Cloning Project
- DataBase Setup
- Last Settings
- Naming Conventions and Terminology
Translation is a project that writed with c#. We kept to Patterns of Enterprice Application Architecture on this project. ...
- Visual Studio 2019 Community - https://visualstudio.microsoft.com (required)
- Choose ASP.NET and wep development in VS Workloads during installation
- Choose .NET Core cross-platform development in VS Workloads during installation
- Git (required)
- Web Compiler
- Bundler & Minifier (required)
- PgAdmin 4 (required)
- PostgreSQL (required)
- WinMerge
- ReSharper and JetBrains account
- GitKraken or other git app
- After Git installed create a Github account.
- Create a file on your PC to cloning the project
- Fork project to your account from here
- Clone the project address from your github repository
- Open your file that created before, and right click inside the file to open the Git Bash
- Write git clone and paste the project address that had copied before on Git Bash Command Line
- After PostgreSQL and PgAdmin have setuped exe files enter PgAdmin.
- Right click the Servers and go to "Create" to "Server".
-
Give a name for your server on General tab.
-
Enter Host name: "localhost", Port:"5432", Maintenance database: "postgres", Username: "postgres" on Connection tab.
-
Save your server infos.
-
Right click the Login/Group and go to "Create" to "Login/Group Role".
- Enter Name: "local_user" on General tab
- Enter Password: "local_user+2019*" on Definition tab.
- Select "Yes" for "Can login?" and "Superuser?" on Privileges tab.
- Save Login/Group Role infos.
- Open project in Visual Studio
- Right Click to Translation.Client.Web and go to Properties at bottom
- Select Debug to edit App URL:
- We need to some changes to be able to Log In in Translation Project
- First, change http to https and delete last char '/' and add ";".
- Second, paste "http://localhost:10005" end of your URL
- Match your DataBase infos in your App.config file under the Translation.Client.Web
We built this project as enterprise application architecture. Using patterns in project was described for you can comprehend as soon as possible. Translaion project is consist of four main part.
- Client
- Server
- Common
- Test
Client side was designed with MVC(Model-View-Controller) pattern. In addition to this we added Helpers part that includes out of MVC to describe other function in Enterprise Architecture.
-
Models contain data using for transfering between controller and view components. This data is isolated from other components and logic transactions.
-
Views contain all UI(User Interface) logic of application to present data to the user.
-
Controllers contain complex logic to process all the business logic to manipulate data using Models and interact with the Views to render the output.
-
Mappers create a Model that required to View using Response came from Server side in Controller.
It is a insulating layer between Server and Client.
This folder contains files used by both side(Client and Server) for communication.
-
DTO is a model that restrains to carry needless data to Server from Client. It is used as a part of Response. We use DTO not to send all data in Model.
-
Request is a model that using for send Client's requests to Server side.
-
Response is a model that using for send Server's response to Client side.
-
This interfaces uses in controllers with dependency injection to send request to Server and to get Response from Server.
Server consist of components that work with Data Base(DB).
-
These models creates Data Base. All information came from Client is saved as entity to DB.
-
Factory is a mapper that using to moves data between objects and DB.It convert Request that came from Client to entity.
Repository is layer that ensure to mediates between DB and Server. It allow us to operation without using SQL command.
Unit of Work maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems
- Every service has a set fo operation that ensure response to own controller.it is a layer that doing DB transaction.