https://github.com/suxrobgm/logistics-app
Automate your entire transportation logistics operations with the transportation management system (TMS).
https://github.com/suxrobgm/logistics-app
angular asp-net-core blazor bun cqrs-pattern ddd-architecture docker entity-framework identityserver kubernetes mapbox maui multitenancy rest-api
Last synced: 30 days ago
JSON representation
Automate your entire transportation logistics operations with the transportation management system (TMS).
- Host: GitHub
- URL: https://github.com/suxrobgm/logistics-app
- Owner: suxrobGM
- License: cc-by-4.0
- Created: 2021-11-27T20:07:41.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-05T22:33:33.000Z (about 1 month ago)
- Last Synced: 2025-04-05T23:23:48.648Z (about 1 month ago)
- Topics: angular, asp-net-core, blazor, bun, cqrs-pattern, ddd-architecture, docker, entity-framework, identityserver, kubernetes, mapbox, maui, multitenancy, rest-api
- Language: C#
- Homepage:
- Size: 19.3 MB
- Stars: 81
- Watchers: 10
- Forks: 34
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Logistics TMS: Automated Transport Management Solution
[](https://github.com/suxrobgm/logistics-app/actions/workflows/build.yml)
[](https://github.com/suxrobgm/logistics-app/actions/workflows/deploy-ssh.yml)[![CC BY-NC 4.0][cc-by-nc-shield]][cc-by-nc]
[cc-by-nc]: https://creativecommons.org/licenses/by-nc/4.0/
[cc-by-nc-image]: https://licensebuttons.net/l/by-nc/4.0/88x31.png
[cc-by-nc-shield]: https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svgLogistics 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.
## Overview
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.
## Demo
A live demo of the application is available at [https://logistics-office.suxrobgm.net](https://logistics-office.suxrobgm.net). Use one of the following test credentials to log in to the application:
- Owner user: email: `[email protected]`, password: `Test12345#`
- Manager user: email: `[email protected]`, password: `Test12345#`
- Dispatcher user: email: `[email protected]`, password: `Test12345#`## Development status
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 **** or [Telegram](https://t.me/suxrobgm).
## Getting Started
Follow these steps to get the project up and running:
1. Install SDKs
- [Download](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) and install the .NET 9 SDK.
- Install Bun runtime to run Angular project. Follow [these](https://bun.sh/docs/installation) instructions.
- Download and install PostgreSQL database from [here](https://www.postgresql.org/download/).2. Clone this repository:
```
git clone https://github.com/suxrobGM/logistics-app.git
cd logistics-app
```3. Install Angular app dependencies:
```
cd src\Client\Logistics.OfficeApp
bun install
```4. Update database connection strings:
- Modify local or remote `PostgreSQL` database connection strings in the [Web API appsettings.json](./src/Presentation/Logistics.API/appsettings.json) and the [IdentityServer appsettings.json](./src/Presentation/Logistics.IdentityServer/appsettings.json) under the `ConnectionStrings:MasterDatabase` and `ConnectionStrings:DefaultTenantDatabase` section. Update tenant databases configuration in the [Web API appsettings.json](./src/Presentation/Logistics.API/appsettings.json) under the `TenantsConfig` section.5. 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](./src/Presentation/Logistics.DbMigrator) project to seed the databases.6. Run applications:
Launch all the applications in the project using the respective `.cmd` scripts in the repository.7. Access the applications:
Use the following local URLs to access the apps:- Web API:
- Identity Server:
- Admin app:
- Office app:8. 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#`
- Office web app:
- Owner user: email: `[email protected]`, password: `Test12345#`
- Manager user: email: `[email protected]`, password: `Test12345#`
- Dispatcher user: email: `[email protected]`, password: `Test12345#`
- Driver mobile app:
- Driver user: email: `[email protected]`, password: `Test12345#`### Technical Stack
- .NET 9
- ASP.NET Core
- Entity Framework Core
- Deunde Identity Server
- FluentValidator
- MediatR
- PostgreSQL
- xUnit
- Moq
- Angular 19
- PrimeNG
- Blazor
- MAUI
- Firebase
- SignalR
- Docker
- CI/CD
- Bun### Design Patterns
- Multi-Tenant Architecture
- Domain-Driven Design
- CQRS
- Domain Events
- Event Sourcing
- Unit Of Work
- Repository & Generic Repository
- Inversion of Control / Dependency injection
- Specification Pattern## Copyright
This work is licensed under a
[Creative Commons Attribution-NonCommercial 4.0 International License][cc-by-nc].[![CC BY-NC 4.0][cc-by-nc-image]][cc-by-nc]
For commercial use, please contact me at **** or [Telegram](https://t.me/suxrobgm).
## Office Web App Preview
Here is a sneak peek into the Office Application:








## Driver Mobile App Preview






