Since the start of the 2020 pandemic, countries across the world have seen rising costs of food and goods. In fact, in Canada, the average household will be paying 5% more for their groceries by December, and it is possible that this will rise even further by 2022 (Charlebois, 2021). Most people have not been deeply aware of the supply chain and how fragile that system can be. Food producers, in particular, have dealt with things such as “shortages, bottlenecks, transportation, weather and labour woes” (Reiley & Fowers, 2021). Not only has the pandemic made inflation worse, but the existing poverty line has widened. As of 2020, Australia had the 16th highest poverty rate out of 34 wealthiest OECD countries (Poverty & Inequality, n.d.). It has been found in the 2020 report ‘Poverty in Australia 2020’ that “one in eight adults and more than one in six children are living in poverty” (Poverty & Inequality, n.d. para.7.). The project aims to provide a useful tool to empower people and give them easier access to cheaper products. It will aim to ease the economic burden of the current inflation and to expand the wealth gap felt across the world , as well as being a useful tool for everyday consumers to save and cut costs when shopping.
Our initial project plan in Assessment 2 consisted of an overview of our application idea; we researched the statistics in e-commerce trends to highlight how drastically online shopping was taking business away from physical stores. We provided a solution to make the physical shopping experience as convenient and cost-effective as online shopping, blending technology and the act of buying in person. Next, we went into tools that we would be using to help build and develop the project idea. Additionally, we outlined the front-end and back-end tools as well as discussed our group's expertise using said tools. We were then able to decide what tangible artifacts we were able to work towards during the project timeline during the semester. We were also able to have a better idea of what would be out of scope and what would be in scope for the entire project during this semester.
We made mock-ups of layouts in design meetings to give us a clear idea of how to proceed and what would be needed when building our website for the application.
We used the WBS chart pro to create our product backlog for the project and to create a list of desired work on the project. If we were to follow the SCRUM methodology, we would then create a sprint backlog which includes short statements of what work is required during the sprint. To set up our local development environments, we used GitHub as well as VSCode, Atom and Note++. Some dead ends that we ran into with this WBS chart plan were that we realised that some of the Database aspects of the plan were outside of our group's expertise, as well as a lack of knowledge in how to fully integrate Back-End and Front-End and connect that to a database. We decided instead to work towards tangible artefacts and components of functioning code for the project idea as well as wireframes, iframe embedding and detailed planning.\
The chart remains an important part of our overall aims and goals to get the project to completion if this project were to be handed over to another group to complete the development of this project.
As a group, we decided to try to adopt an Agile methodology of development for this project, where we would focus on the highest priority tasks. We tried to get a clear picture of the scope of the project that we would be able to achieve in the time given and tried to get as much functionality within our skill and time constraints. Another reason we chose to adopt the Agile methodology was that it is the quickest way to deliver a complete piece of software (Altvater, 2017). When we felt as though our focus was getting off track, we reminded each other to apply the Keep It Simple or (KIS) principle (Alvater, 2017) to refocus our efforts and get more work developed.
Dead-ends
An area where we ran into dead-ends was the idea of developing a desktop application. We realised that it was outside of the scope of this project, and our efforts would be better on getting the website for the project up and running as well as detailed mock-ups and wireframes.
As the project commenced, we were not entirely sure how much of the project we would be able to develop and make fully functional. Throughout this project timeline, we were able to make changes to the project plan as we went along. Initially, we had planned to build a complete front-end and back-end that would be connected to each other, but part way through, we realised that there were some difficulties in connecting these two systems. Our solution to this was to create the front-end as well as add detailed wireframes, iframe and mock-ups of what we envisaged the front-end to look like and at the same time, we created some of the back-end code. There is currently no SQL database, but there is a database in the form of text files that were created by web scrapers.
The example below is the registration form we created for onboarding users, as well as the mock back-end that we created for this part of the website
The above picture is an example of POSTING form data to an HTTP end point. If this were a real back-end, it would be part of a back-end API that would send form data to a database to store in a table and then return the ID of the new user record.
In a real back-end, the ID would be used to immediately redirect the user to their new profile page.
Status 201 in the picture above indicates success, and if we were to see Status 400 or Status 500, this would indicate an error has occurred.
At this stage of the project, as we go into the final week before submitting assessment 3, we have been able to get most of the project idea website fully functioning using tools such JavaScript, Python, Python requests and DateTime modules, Selenium, Google Maps API as well as JSON and JQuery.
We have used an iframe to embed into the assessment webpage to display the prototype that we created in a creative way. The border styles chosen for this iframe are aimed at resembling a mobile phone. The user can scroll and click through the prototype as though they are using it as a mobile application.
Link to Prototype Demo: Click Here
Our next stage of development for the application would be to start building the fully functional mobile application of the project idea using Native app development to create a cross-platform mobile app. We would also look at creating a database where we could store user data and the product information needed for the site in a relational database such as SQL.
Mock-ups using Miro to show how we are going to develop and design the User Interface (UI). This helped visualise and form a better idea of what the team should work towards. We then were able to discuss in further detail what we wanted to add or keep or change in design meetings.
A style guide was created to create wireframes for our user story. This represents the ideal of what we would like to achieve and build for the project. When developing the style guide, we also researched colour psychology and marketing trends to help decide on fonts and colours that we would like to use for the development of our application. We used the colour red as it is associated with excitement, energy, and action (Ferreira, 2019). Not only is red an eye-catching colour, but we read that brands such as Coca Cola use the colour red because it increases people’s appetite. We used elements of grey shading, and we researched that the use of grey can be striking for headers, and it helps to give the application and webpage a clean and polished look (Ferreira, 2019). We also investigated the importance of choosing a font that can show the personality of our group's project idea, as well as being appealing from a marketing perspective. The modern font that we chose, ‘Roboto’ and ‘Fredoka One’, was hoped to show intelligence and distinctiveness and represent our hopes that this will be an application for the future (Pahwa, 2020).
When doing our initial planning, we decided to create a user story to explore all the features that we would need to include in our application development. Initially starting with a few basic headings such as, what the app does, how to register with the app and how to search with the app, we then expanded on each of those points until we found a level of detail that we were satisfied with.