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 [email protected] 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:
- Add a SQL login with username
LogistsUser
and passwordTest12345#
(you can specify your own password) withdb_owner
role to the local or remoteMS SQL
server. - 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.
- Add a SQL login with username
-
Seed databases: To initialize and populate the databases, run the
seed-databases.cmd
script provided in the repository. Alternatively, you can run the Logistics.DbMigrator project to seed the databases. -
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
-
Login to the applications: Use the following test credentials to log in to the applications:
- Admin web app:
- Super admin user: email:
[email protected]
, password:Test12345#
- Super admin user: email:
- Office web app:
- Owner user: email:
[email protected]
, password:Test12345#
- Manager user: email:
[email protected]
, password:Test12345#
- Dispatcher user: email:
[email protected]
, password:Test12345#
- Owner user: email:
- Driver mobile app:
- Driver user: email:
[email protected]
, password:Test12345#
- Driver user: email:
- Admin web app:
- .NET 9
- ASP.NET Core
- Entity Framework Core
- Deunde Identity Server
- FluentValidator
- MediatR
- MS SQL
- xUnit
- Moq
- Angular 19
- 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 [email protected] or Telegram.
Here is a sneak peek into the Office Application: