ReSupply. Pre-history

ReSupply is a peer-to-peer, mobile-first marketplace exclusively for Service members and their families to barter, buy, and sell goods and services.

When ReSupply first approached Applikey it was for a similar idea called TradeU which was an iOS application that allowed a user to post and find items though a keyword search or category filter, receive offers, list offers, message within the app, and find deals and tips through the connections tab.

During the project TradeU transformed to ReSupply. The functional requirements were similar, but where TradeU was for anyone and everyone, ReSupply is for a closed community of members of the Military. Focussing on a niche — in this case a very large niche makes a lot of commercial sense in what it is a very crowded marketplace, but it meant we had to build features that other trading apps couldn’t match. One of the features that is unique to the Military is that servicemen and their families often live on bases around the World many of which are in remote locations.

Correspondingly this led to the changes in functionality to make it easy to trade, build community and friendships on the base.

Web

Ios

Android

Programming technologies

We developed the iOS version of ReSupply in Swift and the Android version in Java.

It’s important to design our code so that each piece is easily identifiable, has a specific and obvious purpose, and fits together with other pieces in a logical fashion. That’s what is known as software architecture. Good architecture doesn’t necessarily make a product successful, but it does ensure it’s robust, that it performs well and is easy and affordable to maintain and develop further.

For the iOS app, we chose an architecture called VIPER as it responds well to the type of app we were building.

We also used a range of other technologies:
We implemented Pusher for its chat capability which reduced the development time (and therefore for client)
The Core Location framework lets you determine the current location and direction of travel of the device
Analytics was provided by integrating the apps with Google Analytics and Flurry
Alamofire is a Swift-based HTTP networking library for iOS and Mac OS X. It provides an elegant interface on top of Apple’s Foundation networking stack that simplifies a number of common networking tasks
RxSwift library makes code succinct, expressive, and easy to follow

The Android application is developed using Java and the MVVM architecture. MVVM was chosen because it makes it simpler to spread the work amongst multiple developers so features of the app could be developed in parallel.

We also used modern frameworks such as Dagger2, Retrofit, OkHttp, Glide and Pusher. Dagger2 is a framework which allows us to reduce the amount of code (the less code there is, the less there is to debug), facilitate the creation of a better app and make the development process smoother. Retrofit and OkHttp reduce the amount of code we have to write to connect the mobile app with the backend. Glide is a framework that makes managing and caching images easier.

ReSupply solution

In ReSupply users can buy products within the app using Stripe meaning the user doesn’t need to enter all their credit card details. We also integrated the card.io service from PayPal which allows sellers to scan a credit card with their mobile.

As ReSupply was only targetting Military personnel and their families, we needed a way to verify this which we did by integrating with the ID.me secure database. The last integration we built for ReSupply was to the branch.io service which improves mobile experiences through deep linking which means that links to content within mobile apps can be created and shared just like the web.

Design of ReSupply

As the target users changed so did the design. The new color palette wasn’t chosen accidentally — we chose the red, white, and blue of the American flag but how we used these colors was very important in an app that firstly needs to be highly functional.

It’s essential to understand the traits, qualities and mood of the color; red is warm and positive, a very physical color which draws attention to itself and calls for action to be taken. In color psychology red means energy, passion, action, strength and excitement.

Blue is the most universally favored color of all and therefore the safest to use. It relates to trust, honesty and dependability, therefore helping to build customer loyalty. Blue indicates confidence, reliability and responsibility. It relates to one-to-one communication rather than mass communication. It inspires wisdom and higher ideals but is also conservative and predictable.