This is where logistics and digital transformation meet on the way of harnessing the full power of the web
Industry: Logistics
Duration: 2 years
Team size: 7
Tech stack: Backend – ASP.NET Core, C# .NET, SignalR and WebSocket. Frontend – Angular 7, JavaScript ES6, HTML 5, CSS3
Challenge: Providing a fully functional web-based access to CarLo® while the desktop and web-access continue existing in parallel. Bringing CarLo® key features to the web and making them available to the CarLo® customers.
Solution: The CarLo® logistics system has been extended with a web-based solution, known as the CarLo® Web2Go
User group: CarLo® customers who require web-based access to logistics features
For our client, Soloplan, a prominent German IT company specializing in logistics software, we have partnered up on developing a new version of their logistics software, CarLo Web2Go. The first part of the project centered on analyzing the current CarLo® functionalities and identifying methods to bridge the divide between desktop and web clients. The main focus was on three modules: User management, Master Data Management, and Order Management.
The basic technical requirements for CarLo Web2Go included separating the business logic from WinForms, addressing the single thread problem of the CarLo application, and creating web-based access and web components. The Web-API had to be flexible and customizable, allowing customers to access more properties of an object already existing in CarLo®. Access to the Web-API had to be authenticated, with OAuth2 being the recommended method. One of the project’s primary objectives was to enhance CarLo’s scalability, and the solution’s architecture had to align with this goal. As for the software capabilities the end-users were to access functionalities such as order management, filters, validators, attached behaviors, and context-menu plug-ins. In terms of infrastructure, customers had to have access to the CarLo® database server.
The technology stack for CarLo Web2Go was Angular7 (Ionic), TypeScript, JavaScript, CSS3, HTML 5, Less for the front-end, and C#, .NET Framework, RESTful API, SignalR library for the back-end. Testing was carried out using NUnit, Rhino, Jasmin, and Karma, while the database was Oracle. Project methodology and collaboration tools included wiki.soloplan.de, Azure DevOps Boards, Mantis, and Subversion. The project required both the backend and frontend to be dockerized, meaning that the software would be packaged in containers to enable easy deployment across different environments.
The development process for the project consisted of three main phases: conceptual design/development plan, development, and QA. In the conceptual design phase, the team analyzed requirements, defined user stories, created sequence diagrams and workflow descriptions, and estimated the time required for technical tasks. They assigned tasks to developers based on their skill sets. In the development phase, the team focused on software development and deployment, utilizing the previously defined technology stack and following the development plan. During the QA phase, the team performed unit tests, integration tests, and user acceptance tests to ensure the software was free of bugs and aligned with the project objectives.
After 2 years of dedicated effort, the team successfully developed the new version of CarLo Web2Go logistics software, covering key functionalities such as User management, Master Data Management, and Order Management. The success of the project was the result of a structured development process, including the roadmap phase, effective collaboration tools, and transparent communication between teams. The combination of a well-selected technology stack, comprehensive development plan, and effective QA process proved that complex projects can be tackled and achieved with success.