Project overview
Air Freight Management Application consists of Android and iOS mobile apps for clients and an admin panel for a transportation company’s employees.
Signing up via email, the client can:
- view detailed information about the shipment order, its status, and location;
- see the time left;
- view the documents and images related to the order;
- get a report containing the order information;
- send a request to access someone else’s order;
- contact a customer support team.
With the help of an admin panel the company’s employees have the opportunity to:
- create new users, view the list of existing ones, edit their personal information, and delete them;
- create new client companies, view, edit, and delete them;
- create shipment orders, fill in the information about its location and progress status, add images and documents, generate reports, add, edit and delete the notes, view the list of orders, edit, and delete them;
- view and approve or reject requests for access to the orders.
Client
The client is a shipping company that transports goods by land, air, and water.
Industry
Logistics, cargo transportation.
Challenge
The challenge was to develop a new application from scratch based on the previous app which was obsolete and of poor quality. The customer wanted the new app to have a cutting-edge design, thoughtful functionality, and to be scalable depending on the client’s needs, requirements, and financial results.
Tech stack
iOS app: Swift, Moya, SnapKit, REST, Firebase Analytics, MVVM
Android app: Kotlin, Kotlin Coroutines, Dagger 2, MVVM, Clean Architecture, Retrofit (+OkHttp), Firebase Dynamic Links, Firebase Cloud Messaging, Android Jetpack (Lifecycles, LiveData, Navigation, ViewModel, WorkManager), Custom Views (ViewGroup, View), View Pager 2, WindowInsets
Admin panel: Javascript, ES6, Nest.js, TypeScript, Sequelize ORM, PostgreSQL, Docker, AWS EC2, AWS S3, AWS Elastic Beanstalk, Angular 8
Result
Eventually, the client got an up-to-date mobile app with flexible architecture and an updated design. Nevertheless, it was decided to preserve the customer’s corporate identity. The app’s functionality was also optimized: we added new features and removed redundant ones.