Assisting environmentalists to raise awareness and give the power of preserving the planet to the people through a digital platform.
In 2020, the founding members of the company understood that, with climate change being considered as one of the most grave environmental problems that mankind is currently facing, environmental considerations are an important factor in justifying urbanization decisions. Based in the UK, they set out to make people aware of the effects of their actions on the environment.
The client was looking for the best Flutter developers and being acquainted with our portfolio, reached out to us through our website request form on July 23rd, 2020. The idea behind the project was simple, yet thought-provoking. They were looking for a way to leverage technology in order to calculate the carbon footprints of users and create awareness about climate change. The initial idea was to build a prototype, which they could showcase to their potential investors, get funding and then move on to develop the complete app.
With the initial discussions in place, the total engagement period was decided to last for 6 weeks over a Fixed Cost Model, divided between designing the app and developing parts of it to build a MVP, which later transitioned into complete development of a full-fledged working app at the time of official delivery, which was later changed to 8 weeks.
The project demanded the following requirements:
For creating the design for the app, the team consisted of an expert designer, overseen by a design lead to carry out tasks and activities efficiently. For development of the actual app, the team consisted of one Flutter dev and a QA engineer, overseen by a Tech Lead. The teams would be in touch with the client through every phase of the entire cycle to understand requirements and incorporate changes in the existing process.
With the stage set, the teams were geared up and ready to get this done. Since the engagement involved designing the app and then developing it, the entire process was divided into two phases. The first phase would involve designing the look and feel of the app, followed by the actual development and code implementation of the app.
Throughout the development phase, code reusability was a major consideration and was justified by the client's decision of choosing Flutter as the framework to develop the app in. We suggested to pair it up with Node.js for backend and MongoDB for the database for maximum efficiency.
For deployment, the Google Cloud Build suite was chosen. The GCB app engine was used for API server deployment and GCB compute engine was used for the DB server deployment.
The flow of the app was simple: the user would be greeted with a sign up/log in screen on the first run and a social media feed, if logged in. Using the 'creating content' button will allow users to post a picture, and log their meals and travel. A sidebar menu, where users can find links to their profile, competition, add friends, wallet, business partners etc. and a detailed profile view for user management.
The first task was to create designs for all the screens of different features of the app and create a user journey that would suit best with the goal that the app is trying to achieve. The design team worked tirelessly to create the perfect flow for users so that using the app isn't a hassle and fits in with the daily routines of people.
Once the designs were complete, the development team swooped in and started implementing everything in code to create the MVP as quickly as possible. Employing advanced Agile methods, including Continuous Design & Continuous Delivery. The development team thought to use a newly realized technique of test-driven development that involved creating testing strategies for the app during development. This technique was mainly used to test the logic of the CO2 calculator. For the main logic, a nested logic was implemented where every
Using test-driven development did wonders for the project. Not only did it improve the overall quality of the application, but also accelerated the entire process my multifold, cutting short at least half the testing time that was to be invested. The MVVM architecture helped separate the view and data logic, making it more readable and scalable. It also helped in parallel development of UI and logics for the app and prompted writing event based code.
Post development, the product was again tested to work out any kinks that remained but the majority of testing and bug fixing was done during development, which made it a less of a hassle at the end. User Acceptance Testing was still a paramount part of the complete testing process. The builds were given to the clients to test and report back any issues that they might face, which were then fixed and confirmed.
The project was quite a unique one and it came with its own unique challenges. During development, the client was continuously thinking about ways to evolve this project into the shape of the future, which led to quite a lot of changes in requirements expressly. These changes posed a challenge for the Client Experience team to accommodate in the existing engagement, which was solved by changing its nature to a Time & Effort based engagement. During development, accommodating these changes meant changing the complete logic behind the app, which seemed daunting at first but was handled by the team expertly. This change was majorly done to incorporate the Food Log feature addition, which would involve getting user's data on the kind of meals they eat and scorging through a large database to accurately calculate the CO2 emission.
As it is with a project that's built from scratch, the look and feel of what the final product would always hang in the balance. In this particular case, the client was beyond ecstatic to see how their app turned out. The designs and the feel of the app were beyond what they imagined them to be. The MVP managed to get investors and the application was a success. They complimented the technical prowess of the developers with which they had developed the complete app and the satisfaction of delivering requirements on time was bestowed upon us. Another revolutionary idea found its outlet with our solutions