Mobiroller.Legacy
Welcome Mobiroller legacy documentation. This repository contains all Mobiroller processes. Firstly let's start with looking what project have:
Anatomy of Project
- client
- Panel
- Kokpit
- server
- modules
- Mobiroller.Server.Abstraction
- Mobiroller.Server.Business
- Mobiroller.Server.Business.Abstraction
- Mobiroller.Server.DataAccess
- Mobiroller.Server.DataAccess.Abstraction
- Mobiroller.Server.Entities
- Mobiroller.Server.Web.Core
- Mobiroller.Server.WebService
- shared
- Mobiroller.Shared.ApiClient
- Mobiroller.Shared.Exceptions
- Mobiroller.Shared.Models
- Mobiroller.Shared.Resources
- utils
- Mobiroller.Utils.Applyze
- Mobiroller.Utils.HangFire
Icon | Means |
---|---|
📘 | Class Library (.Net Core) |
📗 | Class Library (.Net Standard) |
🌐 | Web Project (AspNetCore) |
📂 | Folder / Namespace |
📂 client
This folder includes client applications like My Panel and Kokpit.
Projects in this namespace can use projects from Shared and Utils namespaces.
🌐 Panel
Panel is a new generation version of my.mobiroller.com.
🌐 Kokpit
Kokpit is a new generation version of kokpit.mobiroller.com
📂 server
This folder includes all core codes of server-side. Main application and libraries are palced here.
Project in this namespace can be dependent on projects from Shared and Utils namespaces.
📗 Mobiroller.Server.Abstraction
This project includes cross-project abstractions for all server projects. Only interfaces and enums are placed here.
📘 Mobiroller.Server.Business
This project includes all business logic and algorithms about system.
📘 Mobiroller.Server.Business.Abstraction
This project includes abstraction of Business Layer.
📘 Mobiroller.Server.DataAccess
This library includes all database queries and projections. All implementations are seperated by ORM Provider.
📘 Mobiroller.Server.DataAccess.Abstraction
This library includes abstractions of DataAccess layer. Interfaces are independent of ORM providers or query language.
📘 Mobiroller.Server.Entities
This library includes all database models, contexts and migrations.
📗 Mobiroller.Server.Web.Core
This library includes base and core features of AspNetCore web part of project. Modules and Utils are using this core library.
🌐 Mobiroller.Server.WebService
This is Main Executable Application of project. This AspNetCore project uses all libraries under server namespace and can depends on some libraries under Utils namespace. Magic is here: This has no dependency between modules, but modules are executing inside this project. Also modules are not dependent of this project. So, this technology provides developing modules indepentent of main project and features can be developed by outsource developers.
📂 modules
This folder includes independent modules of main project. Projects in this namespace do not depend on Main Project and Main Project doesn't depend on these projects.
Projects in this namespace can use libraries from Shared and Utils namespaces when required. Projects in this namespace are based on Mobiroller.Web.Core project and they can be built without any of dependency.
📂 shared
This folder includes Shared Libraries between Server-Client and External modules of course. All these projects are based .Net Standard and they can be compiled by both Mono and Roslyn Compilers. They are real cross-platform libraries.
Projects in this namesapce can not use project from any other namespace except same namespace, they can depend on only projects in same namespace.
📗 Mobiroller.Shared.ApiClient
This is consumer client libraries of Main Web Service API. All clients (Panel & Kokpit etc.) share this library.
📗 Mobiroller.Shared.Exceptions
This library includes all exceptions from all over projects in repository.
📗 Mobiroller.Shared.Models
This library includes shared models like Dtos, Enums, Api Special parameters etc. This can not include any of Entity (Database model)
📗 Mobiroller.Shared.Resources
This library includes resources for localization. Also this has an implementation of IStringLocalizer
of AspNetCore.
📂 utils
This folder includes projects which depends on external services, like Applyze, Hangfire etc.
📗 Mobiroller.Utils.Applyze
This library includes processes which uses applyze. (Tenant, Statistics, Ecommerce etc.)
📗 Mobiroller.Utils.HangFire
This library includes special codes for HangFire.
📗 Mobiroller.Utils.Json
This library includes special cases with json and json conversions and json helpers.