README

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.