Darthrift is an online thrifting website where users can sign up, log in, and post items they want to sell. Other users can like the posts, and if they press the 'start conversation' button in the ProductDetails component, the system automatically initiates a conversation between the two parties for negotiation and arrangements. Each user has their own profile page where they can view all their favorite (liked) items as well as all the items they have posted.
I used React and Zustand for frontend and mongoDB, mongoose, express, and node for backend.
To access deployed website, visit: https://darthrift.onrender.com
In order to run the code locally:
- clone repo
- 'npm run start' to run backend server
- 'npm run build' to install dependencies
Darthrift was a project I worked on during the two-week break after the winter term. After covering React basics through the WISP project last term, I wanted to get ahead and learn about backend development before diving into it in the spring term. I watched a few Node.js tutorials right before the end of the term and followed along with a YouTube tutorial (link: https://www.youtube.com/watch?v=HwCqsOis894) during the break. While I got the file structure and some backend code (token & message/auth endpoints) from the tutorial, it was still challenging because it was my first time working with databases, making custom hooks, and doing backend work in general. Although the tutorial had some of the features I wanted to implement, it lacked many others. However, this two-week journey taught me a lot, and I was able to implement additional features and endpoints on my own.