English Below

Inspiration

La production alimentaire locale est essentielle pour l'economie verte et à la durabilité mondiale au 21e siècle. L'achat de produits locaux peut aider à créer des emplois pour les familles et les agriculteurs, et enrichissent les communautés dans lesquelles ils se trouvent. Les produits locaux peuvent aider à réduire notre empreinte carbone, réduire les coûts de transport et réduire l'utilisation de pesticides et d'engrais nocifs.

Malgré la demande croissante, l'approvisionnement en produits locaux présente de nombreux défis pour les restaurants, les organisations et les consommateurs finaux. Le marché fermier souvent joue un rôle essentiel dans les chaînes d'approvisionnement locales, où des relations sont établies et où la découverte de nouveaux produits peut avoir lieu. Courtiers, organisations locales, et les relations de bouche à oreille sont également importantes pour les consommateurs lorsqu'ils cherche les produits locaux. Malheureusement, ces ressources ne sont pas toujours practique ou même difficiles à trouver, meme s’ils existent. En bref, les connaissances locales précèdent généralement la nourriture locale.

Cela crée des inefficacités dans les marches de nourriture locale, car produire une connexion entre des acheteurs et des vendeurs de produits locaux prend beaucoup du temps (et parfois de l'argent). De plus, cela décourage les restaurants et les organisations d'utiliser la nourriture locale en premier lieu. Enfin, les petits agriculteurs sont coupés de nombreuses opportunités de développer leur marque, car ils ne font du commerce qu'avec une clientèle limitée.

Ce Que Ça Fait

Nous présentons "FreshMatch", une application creerer pour aider les entreprises et les acheteurs privés à se connecter avec les producteurs locaux. Notre application améliore l'efficacité sur les marchés alimentaires locaux en réduisant le temps nécessaire aux consommateurs pour s'approvisionner en produits locaux, servant efficacement de "courtier intelligent".

"FreshMatch" fournit à la fois des services Business to Business et Business to Customer, creer pour répondre aux besoins des tous les acteurs impliqués dans l'industrie alimentaire locale. Pour les producteurs, notre application offre des opportunités de branding améliorées par un AR scanner à utiliser dans les supermarchés. Ca présente des informations de marque aux consommateurs finaux.

Pour les restauraunts et autre etablisments, l'application met l'utilisateur en correspondance avec les producteurs locaux en fonction des préférences indiquées lors de la création du compte, en utilisant un mécanisme similaire à l'application"Tinder".

Les producteurs qui recherchent des acheteurs pour leurs produits profilte de l'application aussi. Enfin, les acheteurs privés bénéficient de l'utilisation de l'application pour trouver de la nourriture locale pendant leur shopping régulier.

Comment Nous l'Avons Construit

Markdown Monster icon

Design

Nous avons commencé notre processus de développement d'applications par sotryboarding et "UX design". Nous avons utilisé Adobe XD et Photoshop pour le prototype et la conception de notre application. Nous avons commencé par créer une palette de couleurs et concevoir plusieurs options d'arrière-plan, de boutons et de polices de texte à utiliser dans le reste de l'application. Une fois que nous avons eu nos besoins de conception de base, nous avons commencé à développer l'UX de chaque page. Comme nous devons collecter de nombreuses informations, nous avons choisi de séparer les questions en plusieurs pages pour ne pas submerger l'utilisateur.

Développement

Unity

Nous avons utilisé Unity avec C # pour implémenter les fonctionnalités de l'application. Nous n'avons pas utilisé plusieurs Unity Scenes, à la place nous avons utilisé des "layouts" pour activer et désactiver de nouvelles pages dans l'application pour de meilleures performances.

Google Cloud

Nous avons utilisé Firebase pour plusieurs parties de notre projet. Nous avons commencé par utiliser l'authentification FireBase pour authentifier les comptes d'utilisateurs et n'autoriser qu'un seul compte par adresse e-mail. Nous avons également utilisé FireBase Firestore pour stocker les données de nos acheteurs et vendeurs. Nous commençons par appeler une instance de firebase et mettre à jour la base de données en temps réel au fur et à mesure que les utilisateurs prennent des décisions. Lorsque les utilisateurs choisissent une option spécifique dans la page, la base de données se met automatiquement à jour pour refléter leurs choix, puis les associe à des utilisateurs spécifiques.

AR Avec Vuforia

Pour la partie AR de notre application, nous avons utilisé Vuforia pour déployer un système AR basé sur des marqueurs. Nous avons développé de petits marqueurs, de la taille des autocollants de fruits, qui affichent des informations sur le producteur lorsqu'ils sont scannés. Tout d'abord, nous avons téléchargé les marqueurs que nous avons créés dans la base de données Vuforias et les avons importés dans notre scène d'unité. Nous avons ensuite développé des fiches d'informations que nous avons configurées pour les afficher lorsqu'elles sont visualisées par la caméra AR. Dans des scénarios pratiques, comme les achats quotidiens, l'utilisateur ouvre simplement l'application et scanne le marqueur, et il affiche automatiquement la feuille de données.

Swipe

Le mécanisme de balayage (Comme Tinder) a été développé dans Unity et fournit des images dans l'application via un lien vers des images stockées sur le Web.

Les défis que nous avons rencontrés

Notre principal défi dans le développement de ce projet est certainement la taille du projet lui-même. C'est un très grands projet avec beaucoup de fonctionnalités et beaucoup de côtés différents. Ce projet a également été réalisé en utilisant des compétences qui sont «hors de notre zone de confort». Aucun de nous n'a autant d'expérience dans le développement d'applications mobiles complexes et avant ce stade, nous n'avons jamais été en mesure d'intégrer avec succès Firestore dans aucun de nos projets. Il était très difficile de faire fonctionner FireBase FireStore et de mettre à jour nos données en temps réel. Bref, C'était très difficile de tout préparer à temps. À un moment donné, nous avons eu 40 minutes pour concevoir des autocollants, les imprimer, pousser l'application réussie sur le téléphone et courir vers le magasin juste avant sa fermeture pour obtenir une demonstration de notre application. Un des autres défis consiste à réaliser une vidéo de démonstration de 8 minutes en français. Nous sommes tous les trois plus à l'aise a parler anglais mais nous avons décidé de rejoindre l'esprit de ce hackathon et l'esprit de la francophonie et faire notre démo en français.

Des réalisations dont nous sommes fiers

NOUS AVONS RÉELLEMENT FINI L'APPLICATION. Bien qu'il y ait bien sûr toujours place à l'amélioration, nous sommes vraiment fiers d'avoir pu fournir une application entièrement fonctionnelle avec toutes les fonctionnalités que nous avons implémentées. Nous sommes extrêmement fiers d'avoir enfin pu faire fonctionner FireBase FireStore dans notre projet et stocker les données en temps réel. Nous avons également essayé de changer de rôle dans ce projet et de jouer le rôle qui est le plus difficile pour nous. par exemple, Austin qui n'a jamais utilisé Firebase auparavant a implémenté toute la fonction d'authentification par lui-même pour pouvoir en apprendre le plus possible. Ines, qui n'est généralement pas un concepteur, a créé certains des logos utilisés dans l'application. Nous sommes également très fiers d'avoir pu participer à notre premier hackathon en français et créer une vidéo de démonstration en français!

Ce que nous avons appris

Nous avons beaucoup appris! Nous avons appris à utiliser Firebase Firestore dans nos projets et à l'implémenter entièrement pour stocker des données. Nous avons beaucoup appris sur la conception UX / UI et comment créer une belle application. Nous avons également appris à travailler dans une équipe aux compétences et aux parcours diversifiés. Nous n'étions en aucun cas tous des développeurs, nous avions des compétences très différentes et nous avons pu les combiner pour créer ce projet et apprendre les uns des autres en cours de route.

Quelle sont les prochaines étapes pour Fresh Match

Nous voulons élargir notre base de données! Nous voulons avoir beaucoup plus d'utilisateurs que nos exemples d'utilisateurs actuels. Nous voulons également offrir plus de personnalisation où les utilisateurs peuvent entrer leurs propres produits sans avoir à choisir dans une liste. Nous pouvons également ajouter une personnalisation de profil pour chaque utilisateur afin que son profil ressemble à ce qu'il souhaite. Nous voulons également inclure un système de notification dans lequel les utilisateurs reçoivent des notifications sur leur téléphone une fois qu'ils sont mis en relation avec quelqu'un. Il serait également intéressant d'utiliser les fonctionnalités de localisation afin que l'application ne mette en contact que les acheteurs et les vendeurs situés à une certaine distance les uns des autres.


English Version


Background

Local food production is critical to green economics and global sustainability in the 21st century. Buying local can help create jobs for families and farmers, and enrich the communities in which they are located. Local products can help reduce our carbon footprint, reduce transportation costs and reduce the use of harmful pesticides and fertilizers.

Despite growing demand, sourcing local food presents many challenges for restaurants, organizations, and end consumers. The farmers market often serves a critical role in local supply chains, where relationships are made and discovery of new products can take place. Brokers, local organizations, and word-of-mouth relationships are also important for consumers when sourcing local products. Unfortunately, these resources are often inconvienent or even difficult to locate, if they exist at all. Bref, : local knowledge usually preceeds local food. This creates ineffeciences in local food markets, as connecting buyers and sellers of local produce takes time (and sometimes money). Furthermore, it discourages restaurants and organizations from using local food in the first place. Lastly, small farmers are cut off from many opportunities to grow their brand, as they only interact with a limited customer base.

What It Does

We introduce "FreshMatch", an application designed to help businesses and private shoppers connect with local producers. Our application enhances efficiency in local food markets by reducing the time necessary for consumers to source local produce, effectively serving as a "smart broker". "FreshMatch" provides both Business to Business and Business to Customer services, which are designed to meet the needs of all stakeholders involved in the local food indsutry. For producers, our application offers enhanced branding opportunities through an AR scanner for use in supermarkets, which presents branded information to end consumers. For restauraunts and similar organizations, the application matches the user with local producers based on preferences indicated during account creation, using a mechanism similar to the app "Tinder". This also benefits producers who are seeking buyers for their goods. Finally, private shoppers benefit from using the app to quickly locate local food during their regular shopping trip.

How We Built It

Design

We started our application development process with sotryboarding and "UX design". We used Adobe XD and Photoshop for the prototype and design of our application. We started by creating a color palette and designing several options for the background, buttons, and text fonts to use throughout the rest of the app. Once we had our basic design needs, we started to develop the UX of each page. As we have to collect a lot of information, we have chosen to separate the questions into several pages so as not to overwhelm the user.

Development

Unity

We used Unity with C # to implement the functionality of the app. We didn't use multiple Unity Scenes, instead we used layouts to turn new pages on and off in the app for better performance.

Google Cloud

We used Firebase for several parts of our project. We started by using FireBase authentication to authenticate user accounts and only allow one account per email address. We have also used FireBase Firestore to store the data of our buyers and sellers. We start by calling an instance of firebase and updating the database in real time as users make decisions. When users choose a specific option on the page, the database automatically updates to reflect their choices and then associates them with specific users.

AR With Vuforia

For the AR part of our app, we used Vuforia to deploy a marker-based AR system. We have developed small markers, the size of fruit stickers, which display information about the grower when scanned. First, we uploaded the markers we created into the Vuforias database and imported them into our unit scene. We then developed info sheets that we configured to display when viewed by the AR camera. In practical scenarios like daily shopping, the user simply opens the app and scans the marker, and it automatically displays the data sheet.

Swipe

The swipe mechanism (Like Tinder) was developed in Unity and provides images in the app via a link to images stored on the web.

Challenges We Faced

Our main challenge in developing this project is definitely the size of the project itself. It is a very big project with a lot of functionalities and a lot of different sides. This project was also made using skills that are "Outside of our confort zone". None of us has that much experience developing complicated mobile apps and before this point we were never able to succesfully integrate firestore in any of our projects. It was very challenging to get FireBase FireStore to work and update our data in realtime. It was just overall very challening to get everything ready in time. At some point, we had 40 minutes to design stickers, print them, push the succesfull app to the phone and run to the store right before it closes to get a shot of our app working. One of the other challenges is making an 8 minute demo video in French. The three of us are more confortable speaking english but we decided to join the spirit of this hackathon and make our demo in French.

What We're Proud Of

WE ACTUALLY FINISHED THE APP. While there is ofcourse always room for improvment, we are really proud that we were actually able to deliver a fully ducntioning app with all the features that we implemented. We are extremely proud that we were able to finally get FireBase FireStore to work in our project and store data in real time. We also tried to switch up roles in this project and do the role that is most challenging for us. for example, austin who never used firebase before implemneted the whole authentication feature by himself to be able to learn as much as possible. Ines who is not usually a designer, created some of the logoes used in the app. Also we are very proud that we were able to join our first french hackathon and create a demo video in french!

What We Learned

We learned a lot! We learned how to use firebase firestore in our projects and fully implement it to store data. We learned a lot about UX/UI design and how to make a beautiful app. We also learned how to work on a team with diverse skillsets and diverse backgrounds. We were in no way all developers, we had very different skills sets and we were able to combine them to create this project and learn from eachother along the way.

What Is Next

We want to expand our database! We want to have way more users than our current sample users. We walso want to offer more customization where users can input their own products without having to choose from a list. We can also add profile customization for each user to make their profile look however they wanted to. We want to also include a notifcations systmes where the users get notifcations on their phone once they're matched with somebody. It would also be great to use location features so that the app only mtaches buyers and sellers that are a certain distance away from eachother.

Share this project:

Updates