What it does

CENAT = Community for Exchange, Networking, and Thrift

BuyCenat offers SUTD students a platform to sell, give away and donate their used items. It is an efficient system for circulating second-hand items within SUTD to foster a culture of sustainability and waste reduction. A community spirit is fostered and encouraged through incentives such as vouchers and points rewarded when students choose to give away their items for free to either their fellow students or donating to charities.

How we built it

FastAPI backend Python environment, interacting with a MongoDB non-relational database for quick read write access. Sellers are provided with the abiltiy to add images, which is stored in a AWS S3 bucket. To improve search results and streamline the user experience, a GPT 4o vision to text model was used to identify key attributes of uploaded images and attach appropriate tags.

Local testing was done with a Python virtual environment.

NextJS framework of components from ShadCN, Neobrutalism and MagicUI. Tailwind CSS was used for further styling, and offers vibrant design with rich functionality. Users are able to create or interact with listings of items, and message the seller directly via Telegram.

For interested parties, a Google Maps API was integrated to show users nearby charities and foundations that could benefit from donations. To incentivise donations and giving away items to fellow students or those in need, a points system was introduced.

Frontend is hosted on Vercel. FastAPI backend is hosting on AWS EC2 instance, with a docker image. Static images uploaded by users are hosted on an AWS S3 bucket, and is referred to by the Altas-hosted non relational MongoDB. A microservice architecture offers significant benefits in scalability and maintainability.

Challenges we ran into

The biggest challenge we had was implementing the backend of our project. We had initially decided to use PosgreSQL as our database but realised that the functionality and complexity of using PosgreSQL was out of scope of our project. We decided to go with a more suitable database, MongoDB, which helped us develop our backend at a faster pace, and also brought us the robust functionality we needd for our project.

Accomplishments that we're proud of

We are proud to have developed from scratch a sophisticated, fully deployable and scalable website within 24 hours, while also being new to frameworks such as NextJS and FastAPI. We believe we offer a solution that will foster a culture of sustainability and waste reduction in SUTD.

Built With

Share this project:

Updates