Creating a web application and a native Android application for designing water systems in Africa
Project duration: 5 months
Date of completion: June 2018
Sector: dedicated IT systems
Location: Swindon, United Kingdom
Size: 10 employees
About the company
A software house located in the United Kingdom specializing in creating dedicated solutions for Western European and African companies.
Our 5-month project done in cooperation with Digital Trading involved providing a fully functional solution used for planning water systems in Africa, as part of the SUSWAT project implemented for eWaterPay (www.ewaterpay.com). The project involves building wells and making the water available through the use of miniature, prepaid tags. Due to the multidimensional aspect and the difficulty level of the requirements, our company was responsible for submitting a final design for the solution, for developing a server, web and Android application and for deploying them on a production server.
“The company (…) displayed a clear commitment to recognizing the client’s needs, as well as to gaining a clear understanding of any technical considerations in order to perform the tasks as efficiently as possible.”
– a satisfied client
Operations Director, Digital Trading Ltd
Number of wells
The eWaterPay system is currently available to 20 000 people across Gambia and Tanzania. In order to reach the planned availability to 3 million people by the end of 2020, it’s necessary to speed up the construction of new systems. As part of our work for the SUWAT project, we have committed to develop a solution, that will enable volunteers to significantly increase the rate at which further systems will be built in other regions of Africa. When working on our design, we had to consider the region’s specific conditions and technological limitations. Due to the fact, that the construction of the systems (wells, water taps and pumps) is being funded from donations, the most important criteria included full transparency and attention to detail when designing the systems, in order to minimize costs.
The project had to be implemented on a short schedule. A maximum of 5 months has been allocated between the first contact from the client and final delivery. The deadline was demanding but realistic. In a short time, we have managed to delegate 3 people and gather the project team.
Due to the dynamic nature of project requirements, frequent meetings with the client via Skype video conference turned out to be necessary. They allowed us to quickly determine the direction in which to proceed and to quickly get answers to any questions that arose during the development process. The tests were divided into internal, performed in Poland and the United Kingdom and external, performed in Gambia by volunteers.
1. Analysis of needs and requirements (3 weeks):
-Remote meetings over Skype,
-Detailing the functional and non-functional requirements – actively advising the client on functionality
2. Programming (3 months):
– developing the solution and PayPal integration,
– regularly scheduled meetings with the client
3. Internal testing (2 weeks)
– tests on a pre-production environment in Poland and the United Kingdom
4. External testing (2 weeks)
– tests on a pre-production environment in Africa.
6. Deployment (1 week)
-Deploying the application on a production system, First-run assistance, Post-deployment support
Before the project even begun, it was already clear that a high level of collaboration between the programmers, the analyst and the client will be necessary. A person delegated by our company was responsible for overall coordination.
Our company was tasked with creating:
a restAPI server application deployed on MS Azure,
a content management web application,
a PayPal integrated web application for gathering funds
an Android 4.4 application
After defining the requirements, we began by developing the server application with api endpoints, which served as a starting point for the web and Android applications. Over 90% of the endpoints are shared by both applications. The web and Android applications were developed simultaneously.
The web-based data and system administration module has been developed in .NET using Angular2 + RWD, making the application just as convenient to use as if it was installed in a Windows environment.
A publicly available application for anyone who wants to financially support the construction of water systems in Africa has also been developed. Secure integration with PayPal IPN is available at this stage.
Due to low Internet availability, the Android application had to be provided with an offline mode, allowing data synchronization once the user is in range of a Wi-Fi network. Gathering the data necessary to design a system requires spending many days in places with no network access. Using GPS, the user determines the location of individual elements of the water system along with their type and specification. Each site has a photo attached to it. Once the user is back in the office, he can upload all the data to the server, using the Synchronize button. It should be noted, that multiple users can work on a single system and the changes uploaded to the server are automatically merged, without the risk of overwriting any data.
Ease of use
Each system consists of a number of parameters, that can easily be defined by the user in the application itself. Friendly interface based on Google maps and GPS support with a photo attachment feature ensure convenience, even when working on very complex systems.
Each system can have an unlimited number of notes attached to it and can be shared with other users – after providing the user’s phone number, they will automatically receive an SMS invitation to collaborate on designing the system.
Another important feature is the support for multiple currencies. Each user is assigned a specific currency, which he uses to define the cost of individual elements of a water system. Automatic rate conversion enables users from different regions of the world to easily work on a single system.
|Narzędzia, których użyliśmy w projekcie: