CSCI3100 Project: Secondhand Marketplace
This is a group project for CSCI3100 (Software Engineering) at CUHK. We built a secondhand marketplace web app that lets CUHK students buy and sell used items within the university community.
Tech Stack
The app is built with Ruby on Rails 8, backed by PostgreSQL hosted on Supabase. We used Devise for authentication, ActionCable for real-time WebSocket chat, and Stripe for payment checkout. Testing is done with Minitest, RSpec, and Cucumber, with SimpleCov for coverage reporting.
Features
- CUHK-only access — sign-up is restricted to
@link.cuhk.edu.hkemails via Devise authentication - Item listings — full CRUD for items with Available/Reserved/Sold status
- Search and filters — fuzzy search with autocomplete suggestions, plus filters by college
- Real-time chat — WebSocket-based messaging between buyers and sellers
- Payments and email — Stripe checkout integration and daily digest emails for new items in the user's community
My Contributions
I was responsible for the payments, background jobs, and email side of the app. Specifically, I integrated Stripe for payment checkout so that buyers can pay sellers directly through the platform. I also set up background jobs to send daily digest emails that notify users about new items listed in their community. On top of that, I handled the Gmail SMTP configuration for transactional emails like order confirmations and notifications.