Inspiration

Food waste is one of the global issues of today, while a significant part of the world’s population still lacks sufficient nutritious food. Moreover, the existing mechanisms for redistributing surplus food from restaurants, households, and producers are insufficient, which results in tons of food waste. This inspired us to create ShareCycle to fill the existing gap.

What it does

ShareCycle is a role-based food donation management system that creates a platform for connecting food donors with NGOs. The platform allows individuals to donate surplus food from their households, restaurants to give away unsold meals, and farmers to redistribute agricultural products. Furthermore, it enables NGOs to find and collect donations and manage them on their platforms before distributing them to the city’s needy. In addition, ShareCycle administrators control all the actions within their platform.

How we built it

We built the frontend of the application using React.js, where we created components that we reused, and the dashboards for individual users using React Router. The backend was designed using Node.js and Express.js and connected to the database using MongoDB. The application includes REST API, authentication, authorization, and role-based dashboards so that only authorized users have access to specific features and datasets of the application. Overall, the application is built using a modular structure so it is easy to make changes and update.

Challenges we ran into

Among the most significant challenges while developing ShareCycle appeared creating the role-based system where each user has unique dashboards, features, and permissions. While building the system, we also faced challenges with connecting React frontend to the backend, the application’s authentication and authorization, developing reusable components and responsive dashboards, and working with the database.

Accomplishments that we're proud of

We are proud to develop the full-stack web application and implement all the concepts of the full-stack development using MERN technologies. Moreover, we have introduced a wide range of features of the application, such as authorization and authentication features, role-based dashboards for individual users, farmers, restaurants, NGOs, and administrators. Furthermore, we have designed several reusable components while building the ShareCycle application. Finally, we have successfully connected the frontend part of the application with the backend part using REST API and managed to build an admin dashboard for managing the whole system.

What we learned

We have expanded our knowledge about developing full-stack web applications while working on the project. Moreover, in addition to general programming knowledge about React and Node.js, we also improved our understanding of Express.js, REST API, databases, authentication and authorization mechanisms, routing, and the component-based structure of front-end applications. Nevertheless, the most valuable experience that we gained while building the ShareCycle platform is the knowledge and skills in developing a product for real-time problems and creating applications using a modular approach.

What's next for ShareCycle

Our next step is to introduce new features to the application, such as implementing notifications that appear in real-time, tracking donations, prediction algorithms based on AI, and QR codes for safe collection of food donations. In addition, we would like to enable users to receive email or SMS notifications, develop a mobile version of the application for Android and IOS, and introduce advanced analytics tools and multi-language support.

Built With

Share this project:

Updates

Submission history