## Inspiration

We were inspired by the 63%, of edible food that Canadians throw away. The majority (45%) of this food (by weight) is fresh produce. We determined a large contributing factor to produce waste as the expiration dates— which can often be difficult to keep track of.

Food waste directly connects to global warming, as a large amount of resources are used to grow food. Thus, this excess waste translates directly into C02 emissions. We recognize that through simple actions we can all contribute to the preservation of our planet.

Our team found a very simple, viable solution to this problem as a convenient app that would allow users to keep track of all their fresh produce and expiration dates, simply by taking a photo.

## What it does

Our application, FOEX, provides an estimated time to expiry for produce items scanned in by the user. FOEX manages all expiry dates, allowing users to keep track of their food items. The app will automatically update the days left until an item expires. We hope to further develop this application by adding additional functionality that processes printed expiration dates on packaged items as well as enabling users to sort and arrange their inventory manually.

## How we built it

We first designed the application with a wireframe on Figma. Utilizing the pre-created format of Android Studio, we coded the back-end of our project in Java and the frontend in XML. Within the backend we used okHTTP to access the Microsoft Azure Computer Vision API. Throughout the whole process we utilized Git and Github to streamline the build process.

## Challenges we ran into

The largest challenge that we encountered was the implementation of the Computer Vision API into the application. Initially, we had utilized an external library that simplified calls to the API; however, after hours of debugging, we found it to be a source of many compilation and configuration errors. This required us to rethink our implementation and resort to OkHTTP to help us implement the API. In addition, the technical issues we experienced when configuring our API and APK resulted in smaller challenges such as Android Studio’s inability to handle lambda functions. Overall, we found it challenging to integrate all of the files together.

## Accomplishments that we're proud of

We are very proud of the dedication and hardwork put in by all of our members. With this being our second Hackathon, we found ourselves constantly learning new skills and experimenting with new tools throughout the entire process. We were able to successfully implement the Microsoft Azure API and strengthened our knowledge in Android Studio and Figma. Avoided mistakes from our first Hackathon, we applied knowledge to help organize ourselves effectively, ensuring that we considered all potential challenges while remaining grounded in our main idea without worrying about minor features. Despite facing some challenges, we persevered and had fun doing it!

## What we learned

Our team learned a lot about utilizing version control, we had some organization differences and difficulties. Throughout the process we became better at communicating which member was pushing specific changes, in order to avoid having the app crash upon compilation (of partially completed pieces of code).

In addition, our team became more fluid at debugging Android Studio, and coming up with unique, creative approaches to solving a problem. Often we would encounter a problem which there were multiple ways to fix, the first solution not always being the best.

## What's next for FOEX

We will further implement our algorithms to include a greater variety of produce and add support for scanning barcodes and expiry dates for packaged food items. We also plan to add notification alerts and potential recipes for items that will expire soon. FOEX will later be released on IOS in order to on expanding the app’s usage and impact on society.
## Inspiration

With billions of tons of food waste occurring in Canada every year. We knew that there needs to exist a cost-effective way to reduce food waste that can empower restaurant owners to make more eco-conscious decisions while also incentivizing consumers to choose more environmentally-friendly food options.

## What it does

Re-fresh is a two-pronged system that allows users to search for food from restaurants that would otherwise go to waste at a lower price than normal. On the restaurant side, we provide a platform to track and analyze inventory in a way that allows restaurants to better manage their requisitions for produce so that they do not generate any extra waste and they can ensure profits are not being thrown away.

## How we built it

For the backend portion of the app, we utilized cockroachDB in python and javascript as well as React Native for the user mobile app and the enterprise web application. To ensure maximum protection of our user data, we used SHA256 encryption to encrypt sensitive user information such as usernames and password.

## Challenges we ran into

Due to the lack of adequate documentation as well as a plethora of integration issues with react.js and node, cockroachDB was a difficult framework to work with. Other issues we ran into were some problems on the frontend with utilizing chart.js for displaying graphical representations of enterprise data.

## Accomplishments that we're proud of

We are proud of the end design of our mobile app and web application. Our team are not native web developers so it was a unique experience stepping out of our comfort zone and getting to try new frameworks and overall we are happy with what we learned as well as how we were able to utilize our brand understanding of programming principles to create this project.

## What we learned

We learned more about web development than what we knew before. We also learned that despite the design-oriented nature of frontend development there are many technical hurdles to go through when creating a full stack application and that there is a wide array of different frameworks and APIs that are useful in developing web applications.

## What's next for Re-Fresh

The next step for Re-Fresh is restructuring the backend architecture to allow ease of scalability for future development as well as hopefully being able to publish it and attract a customer-base.
## Inspiration

As college students who regular consume our meals in dining halls, we notice how much food waste is generated every day, both in during the preparation and consumption phases. With the university's emphasis on sustainability and environmental protection, we feel impelled to decrease the food waste level, as we know how precious food is and the fact that there are many people around the world who don't have enough access to food and struggling in such circumstances. This program serves as our attempt to address this issue and increase awareness about it so that more people can learn about it, become more conscious of whether they are wasting food on a daily basis and make improvements from there.

## What it does

This app serves as a tracker tool that allows the user to input their food waste level every day, and provides a statistic summary of the food waste level based on user input. Then, over time, the user can track their food waste level and reflect upon that.

## How we built it

This app was built using Java and a simple GUI was implemented, which interactive features that facilitate user input.

## Challenges we ran into

Through this process, we ran into a lot of challenges specifically regarding the building of the GUI, which is not the strongest feature of Java as a programming language. Therefore, we tried to make the GUI more presentable and appealing for user interactions. In addition, due to limited time, we did not try to connect the program to a database. Instead, we work on storing the user data into a file on user's local disk and work from there.

## Accomplishments that we're proud of

We are proud of the works that we have done to raise awareness about food waste. We recognize that the program has certain limitations and many areas of improvements due to limited time. But we are proud to be able to create a program that highlight this important social issue and make people know about how food waste can be addressed through software and daily habits. The main point of this program is to stress that food waste is not to be addressed through a single day's work, but incrementally over time.

## What we learned

We learned valuable lessons through this Hackathon, the most important being the perseverance. Through this time-limited Hackathon, we encountered numerous challenges during the coding process and think about the various ways we could have addressed these problems. There are also a lot of features we want to include in our program, where we were not able to include for all of them due to limited time. Thus, we took careful considerations to make the most effective use of time so that we can still present the best program.

## What's next for Food Tracker

Food Tracker is definitely an idea that can be expanded more and developed into a fully functional app, preferably connected to a database with more visual features in the future, which will then allow the user to log into their account and visualize their waste patterns in greater detail. We remain hopeful and exciting for the future of Food Tracker, and hope to pursue this project after further developing our coding skills.