Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 7 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 (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-06T22:18:47.000Z (3 months ago)
- Last Synced: 2024-12-03T22:07:46.764Z (21 days 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: 11.5 MB
- Stars: 71
- Watchers: 10
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Logistics TMS: Automated Transport Management Solution
[![Build Status](https://github.com/suxrobgm/logistics-app/actions/workflows/dotnet-build.yml/badge.svg)](https://github.com/suxrobgm/logistics-app/actions/workflows/dotnet-build.yml)
[![Tests](https://github.com/suxrobgm/logistics-app/actions/workflows/dotnet-test.yml/badge.svg)](https://github.com/suxrobgm/logistics-app/actions/workflows/dotnet-test.yml)
[![Deployment](https://github.com/suxrobgm/logistics-app/actions/workflows/deploy-ftp.yml/badge.svg)](https://github.com/suxrobgm/logistics-app/actions/workflows/deploy-ftp.yml)
[![OfficeApp Build](https://github.com/suxrobgm/logistics-app/actions/workflows/officeapp-build.yml/badge.svg)](https://github.com/suxrobgm/logistics-app/actions/workflows/officeapp-build.yml)
[![DriverApp Build](https://github.com/suxrobgm/logistics-app/actions/workflows/driverapp-build.yml/badge.svg)](https://github.com/suxrobgm/logistics-app/actions/workflows/driverapp-build.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.
## 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 **[email protected]** 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/8.0) and install the .NET 8 SDK.
- Install Bun runtime to run Angular project. Follow [these](https://bun.sh/docs/installation) instructions.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 `MS SQL` database connection strings in the [Web API appsettings.json](./src/Server/Logistics.API/appsettings.json) and the [IdentityServer appsettings.json](./src/Server/Logistics.IdentityServer/appsettings.json) under the `ConnectionStrings:MainDatabase` section. Update tenant databases configuration in the [Web API appsettings.json](./src/Server/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.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: 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## Architectural Overview
### Technical Stack
- .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### 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 **[email protected]** or [Telegram](https://t.me/suxrobgm).
## Architecture Diagram
For a deeper understanding of the project structure, refer to the architecture diagram:
![Project architecture diagram](./docs/project_architecture.jpg?raw=true)## Office Web App Preview
Here is a sneak peek into the Office Application:![Office App](./docs/office_app_1.jpg?raw=true)
![Office App](./docs/office_app_2.jpg?raw=true)
![Office App](./docs/office_app_3.jpg?raw=true)
![Office App](./docs/office_app_4.jpg?raw=true)
![Office App](./docs/office_app_5.jpg?raw=true)
![Office App](./docs/office_app_6.jpg?raw=true)
![Office App](./docs/office_app_7.jpg?raw=true)
![Office App](./docs/office_app_8.jpg?raw=true)
![Office App](./docs/office_app_9.jpg?raw=true)## Driver Mobile App Preview
![Driver App](./docs/driver_app_1.jpg?raw=true)
![Driver App](./docs/driver_app_2.jpg?raw=true)
![Driver App](./docs/driver_app_3.jpg?raw=true)
![Driver App](./docs/driver_app_4.jpg?raw=true)
![Driver App](./docs/driver_app_5.jpg?raw=true)
![Driver App](./docs/driver_app_6.jpg?raw=true)
![Driver App](./docs/driver_app_7.jpg?raw=true)