Inspiration
Awkwardness when splitting bills after group meals or events. So we need a website that allows users to upload receipts and easily split costs based on who ordered what.
What it does
Its a website that allows users to upload receipts and easily split costs based on who ordered what. It could even send payment requests via apps like G-Pay or PayPal and keep track of settled and unsettled debts among friends.
How we built it
I created Buddy to make splitting bills with friends easy and hassle-free. I started by building the website using Next.js for a smooth, responsive experience and styled it with TailwindCSS for a modern look. For user login and security, I implemented NextAuth. To handle receipt uploads, I used Multer and stored the images on Cloudinary. I chose MongoDB with Mongoose to manage user data and track who owes what. Passwords are securely hashed with bcryptjs. Additionally, I want to integrated PayPal APIs to send payment requests seamlessly. Finally, I deployed the site on Vercel, ensuring it’s accessible to everyone.
Challenges we ran into
Some challenges we encountered include handling secure file uploads with Multer and Cloudinary, ensuring seamless authentication with NextAuth, and parsing uploaded receipts accurately. Managing data relationships in MongoDB using Mongoose, and ensuring password security with bcryptjs, also presented complexities we had to overcome.
Accomplishments that we're proud of
We’re proud of successfully integrating Next.js for a seamless user experience and TailwindCSS for a responsive design. Implementing secure authentication with NextAuth and handling file uploads with Multer and Cloudinary were major achievements. We managed data efficiently with MongoDB and Mongoose, ensuring robust functionality and security
What we learned
From this project, we learned how to integrate and manage various technologies like Next.js, TailwindCSS, and MongoDB to build a full-stack application. We gained experience in secure authentication with NextAuth, handling file uploads with Multer and Cloudinary, and working with payment APIs. We also developed skills in managing data relationships and ensuring security with bcryptjs.
What's next for Buddy
The next steps involve enhancing its features by adding advanced functionalities like group bill tracking and expense analytics to provide deeper insights. We’ll focus on improving the user experience by refining the interface based on user feedback. Scaling the application to handle a growing user base and optimizing performance will be crucial. Developing a mobile app version will make the platform more accessible on-the-go. Additionally, we plan to explore partnerships with payment platforms to streamline payment integration and offer more seamless transaction experiences. These improvements will help ensure "Buddy" remains a valuable tool for users.
Built With
- bcryptjs
- cloudinary
- mongodb
- mongoose
- multer
- next-auth
- nextjs
- tailwindcss
Log in or sign up for Devpost to join the conversation.