As a team we were inspired by the idea behind the hackathon - fighting climate change with technologies. By looking through all the organizations that took part of the hackathon, we decided to tackle the challenge of "Waste". We choose the organization "Buy Food With Plastic" mostly because of their ideals and goals. We were inspired by their message - recycling plastic bottles and providing food for many families in some of the poorest countries in the world.
What it does
Our project is a management system for receipts. One of the main issues that BFWP is facing is that all of their receipts are written by hand. We created a project where receipts could be added into a form and the data from the form is saved into an API. Also, the receipts that are saved into the system are available to see on another page. This way, it becomes quite easy to have all the receipts in one place. Moreover, we implemented a bot that users can communicate with. Right now, it returns only frequently asked questions. However, the bot is a very powerful tool that can be integrated with an API, AI tools and other various options. In a long term, the bot could become an essential part of bringing more transparency and organization to the idea.
How we built it
We built it by using various open-source technologies. Those technologies include Firebase, React, Power Virtual Agents and Azure App Service. In Firebase we created an API where receipts can be stored. Then, in React, we created a web solution where receipts could be submitted into Firebase and then fetched from the website. This way, everyone involved with the organization can submit receipts either from the website or from Firebase (easy user interface), and also check for all the existing receipts. Moreover, we included a bot, so there will be easy access to the frequently asked questions since it is hard to find them on their site. The web solution is published on Azure App Service, so it will be easier for everyone to review the project. As well, to give the feeling of how our solution can be integrated with the already existing website.
Challenges we ran into
One of the main challenges that we encountered was the time. Most of our team members are currently students or interns and we simply do not have the time to sit and code for the hackathon the whole day. This is why, we had to make a lot of things in a short period of time. With that in mind, if we had more personal time, we could have extended or made the final solution better.
Accomplishments that we're proud of
We are proud that we found the time and motivation to participate in the hackathon, because the idea behind it was very inspirational. In terms of climate change, our world does not have any time to waste on how to make a positive change. This is why, we are proud to say that by being a part of the IT field, we can come up with creative and innovative solutions to those problems. Furthermore, we are definitely most proud of what we managed to accomplish in the short time we had. It only shows that with the goal in mind, the determination to do something beats the tiredness or lack of time. Finally, we are proud that our solution can easily be continued and extended, because of the technologies that we used. This way they can use our project as a base, and then build on top of it, until they accomplish their goals.
What we learned
Some of the technologies we used, we already had experience in, others were completely new. For example, we managed to learn how to create and test bots. As well, how to create topics, what trigger phrases are and how to use them. Moreover, we managed to publish a bot and integrate it into React.
What's next for Receipts Management System
As we mentioned already, due to the lack of time we could not implement all the ideas we had in mind. However, we made a list of our ideas for the future. We believe that what we are providing right now could be easily build on by people with little or a lot of experience withing IT and programming. Our ideas:
- Date of purchase on the receipts. Date to be included in the form, this way it will be easier to keep track of what was bought and when. As well, it will bring more transparency. Then, we are going to include a filter option, which will show all receipts on the specific date, written in the field by the organization.
- Extending the bot. Connecting it to an API or an AI tool that can respond with more information about future campaigns, track of receipts, collected bottles in certain locations or countries.
- Connecting the progress bar in “Our goal” page to the API. Having one collection called “bottles” where a single field “collectedBottles” will contain all the bottles collected so far. By connecting the field with the status bar, the status bar will move up to the goal whenever the collectedBottles value changes in the API. Meaning, the status bar will be changing dynamically and the BTFP will be showing the real progress to everyone who is interested in it.
- Right now, the company has the ability to submit and check receipts, but we also have the idea where the company can scan the receipts, and then either use cognitive AI that can read the written by hand receipts, and upload the information digitally, or scan the receipts and then upload them as images in the Firebase Storage. The storage is really easy to use, even for people without any technical knowledge – the company goes on the website, presses ‘upload a new receipt’, and upload the receipt, which will be saved in the Firebase storage. Those images will then be presented on the website, with the option to add the date in which they have been uploaded. No matter which option the company chooses, they will have the ability to submit and retrieve important information, which will make their work a lot easier, by having everything digitally, instead of writing it manually.