Inspiration

One day, I was donating clothes to the salvation army, and realised that despite the large quantities of clothing donated, the salvation army still frequently asks for donations. Then, I thought of what I could do in order to provide more help for the needy, which is how the idea for FoodCross came about.

What it does

FoodCross is a responsive web application that allows users to donate any amount of money to eateries. This donation can be done by scanning a QR code given to each restaurant, and keying in the amount that the user wants to donate. The eateries maintain a balance of donations, and when needy persons approach the eatery, meals can be claimed using the pool of donations. The restaurant can set aside various menu items for the needy to choose from, giving the needy the luxury of variety. Funds are managed by the platform to ensure that there are no misuse of funds, and each needy person can only claim one meal each time to prevent abuse of the system.

How I built it

The front end of the system is built using React and Next.js. The backend uses GraphQL with an Apollo-express server and a mongoDB database.

Challenges I ran into

Firstly, we decided to step out of our comfort zone and challenge ourselves to use GraphQL which is a technology that most of us are unfamiliar with. It was particularly difficult as it was the first time we were building a full stack application using GraphQL on both the client and server side. Additionally, we were immensely fatigued because we coded through the night without sleeping. Our productivity kept dipping and we became less and less alert, surviving only on caffeine and adrenaline.

Accomplishments that I'm proud of

One of the great achievements during this event would definitely be successfully using the GraphQL framework for backend management. This technology is quite new and we had to figure out many parts out on our own, but we are glad to be able to pull through in the end. Having a full working product within 24 hours is no easy task, and our team has managed to finish what we started.

What I learned

Web development in a team requires much communication, and it is better for people to do things that they are individually more skilled at then combining at the end rather than the entire team working on the same components together. Also, using new technologies like GraphQL requires time to learn, and it would have been better if we familiarised ourselves more with the framework before using it in our project.

What's next for FoodCross

Eventually, we aim to have eateries, hawkers and restaurants all over Singapore adopt our web-application, to greatly benefit the needy and have a wider social net to protect the needy from hunger.

Share this project:

Updates