Logistics TMS is an ultimate solution for all transport management needs. With a focus on automation, this Transportation Management System (TMS) is designed to streamline logistics, offering an efficient, optimized way to manage inbound and outbound transport operations.
Logistics TMS primarily targets logistics and trucking companies seeking to streamline their operations. It offers a comprehensive suite that encompasses an administrator web application, a management web application, and a driver mobile application. The backend is powered by a robust REST API and an Identity Server application.
Operating on a multi-tenant architecture, Logistics TMS features a primary database for storing user credentials and tenant data, including company name, subdomain name, database connection string, and billing periods. Each tenant or company has a dedicated database.
I work on this project in my free time so it is not actively maintained. However, I am open to collaboration and contributions. If you are interested in contributing to this project, please feel free to reach out to me at suxrobgm@gmail.com or Telegram.
Follow these steps to get the project up and running:
-
Install SDKs
-
Clone this repository:
$ git clone https://github.com/suxrobGM/logistics-app.git $ cd logistics-app
-
Install Angular app dependencies:
cd src\Client\Logistics.OfficeApp bun install
-
Update database connection strings: Modify local or remote
MS SQL
database connection strings in the Web API appsettings.json and the IdentityServer appsettings.json under theConnectionStrings:MainDatabase
section. Update tenant databases configuration in the Web API appsettings.json under theTenantsConfig
section. -
Seed databases: To initialize and populate the databases, run the
seed-databases.cmd
script provided in the repository. -
Run applications: Launch all the applications in the project using the respective
.cmd
scripts in the repository. -
Access the applications: Use the following local URLs to access the apps:
- Web API: https://127.0.0.1:7000
- Identity Server: https://127.0.0.1:7001
- Admin app: https://127.0.0.1:7002
- Office app: https://127.0.0.1:7003
- .NET 8
- ASP.NET Core
- Entity Framework Core
- Deunde Identity Server
- FluentValidator
- MediatR
- MS SQL
- xUnit
- Moq
- Angular 18
- PrimeNG
- Blazor
- MAUI
- Firebase
- SignalR
- Docker
- CI/CD
- Bun
- Multi-Tenant Architecture
- Domain-Driven Design
- CQRS
- Domain Events
- Event Sourcing
- Unit Of Work
- Repository & Generic Repository
- Inversion of Control / Dependency injection
- Specification Pattern
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
For commercial use, please contact me at suxrobgm@gmail.com or Telegram.
For a deeper understanding of the project structure, refer to the architecture diagram:
Here is a sneak peek into the Office Application: