Inspiration & the problem we're targetting
Our inspiration for this project actually came from when I (Riddhiman) went to Santa Cruz Beach and saw a whole ton of trash, scatter all over the beach, and geese getting stuck in it (the image is in the image gallery above). As I was cleaning up the trash, I thought why don't I make an application so that our whole community can help clean up our Earth, instead of just single people, getting together to help out. After that, we got together to make our project Let's Assist so that people can give back to their community, their way.
What it does
Let's Assist is a simple, yet intuitive online volunteering portal. It encompasses the key aspects you would need for a complete, online, volunteering-assist experience and lets you give back to your community, your way.
How we built it
We built this project by using many tools such as NextJS, Prisma, MongoDB, Vercel, and Next-Auth to simplify the creation process. This was both of our first time ever building a full stack website from backend to apis to front end, and it was a huge learning experience as we were mostly experienced with making algorithms and solving leetcode questions through programming languages such as C++ and python. However, together, and with a lot of help from the internet, we expanded our knowledge and broke down our complex tasks into pieces. For example, for the create projects routes and features, we broke our it down to first making the apis with a fake database we locally made, then connected that database to MongoDB via Prisma, and finally working out how the user can view our project data in a readable, and clean looking fashion. Together, we mapped out the tasks we would need to do by each day, take upon different roles, and work on the project collaboratively.
Challenges we ran into
Since it was our first time creating a website with a full backend and api and all the features, it was of course quite difficult and we had many challenges. One of our biggest challenges was with the database connection itself, where previously, we had been directly connecting to mongodb but as we learned more, we found out that a tool called Prisma was a substantially better alternative to the extremely finicky solutions we had made to problems we had. This meant that a lot of our code was simply a bad temporary solution that made our code extremely hard to navigate and overly complex. However, after spending a solid amount of time, reworking the basic structure of the project, we were much better off, and learned a lot about how to properly work a NextJS website. There were other challenges along the way such as creating the api routes and making them work instead of returning 404, making authentication work right, and many annoying frontend issues, but overall I think we were able to manage the rest of it without any major hiccups in our project.
Accomplishments that we're proud of
At the beginning, neither of us knew how to make a well-rounded website using tools such as NextJS, Prisma, NodeJS, etc. However, by the end, we learnt a lot about the website-creation process from how to make a good looking frontend, to NextJS project structures, apis, databases and whatnot. On top of this, this project also helped us improve our existing skills on css, html, and javascript. We are really proud to have been able to get as far in our project as we have, and hope that our project can become a fully-fledged product that is used by actual people and a way for people to give back to their communities.
What we learned
We learned a lot of things, such as how to create a project structure for NextJS, how to make api routes, use Prisma and a MongoDB database, how to do authentication using Next-Auth, create nice frontends, and deploy a website using Vercel.
What's next for Let's Assist
Some of the main features we would like to add to Let’s Assist in the future includes a community forums page for people to discuss their volunteering opportunities, add project chats, project ratings, account badges that reward people based on hours they spend volunteering, and a mobile app so people can get to volunteering more conveniently.
Built With
- bootstrap
- cloudinary
- css
- html
- javascript
- mongodb
- next-auth
- nextjs
- node.js
- prisma
- typescript

Log in or sign up for Devpost to join the conversation.