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.
The project is actively under development. I have completed 85% of the work required for the first version of the MVP.
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 NPM packages:
cd src\Client\Logistics.OfficeApp npm 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.bat
script provided in the repository. -
Run applications: Launch all the applications in the suite 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
The sample deployed application is available at http://office.jfleets.com
User email: Test1@gmail.com
User password: Test12345#
- .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
- 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 @suxrobgm
For a deeper understanding of the project structure, refer to the architecture diagram:
Here is a sneak peek into the Office Application: