Our main goal was to develop an MVP for two types of users – clients and drivers. Clients should be able to order a delivery, depending on package size. Drivers should be able to get these delivery requests, process them, deliver packages, and get paid for that.
The main challenge was to integrate a socket-based communication with server, and make sure all cases are handled correctly, especially when the internet connection is weak or temporarily unavailable. Other challage was, that it should be a single application, for both type of users.