Context
Topofertas is a web application created as my degree project (thesis). It was built to help users find the best product prices in Chile, and also to put into practice everything I had previously learned with the Mr Hardware project.
Goal
The purpose of this project is to help people find their products at the best price and with discounts, while also helping companies and stores publish their deals. The application aimed to improve on what some existing websites already do, but with extra options and a more accessible approach.
System
The project consists of two systems: one for users and one for companies. Users can browse deals and discounts, and compare product prices and features. Companies can publish their offers, see statistics for their products and read user feedback.
Backend
The backend was built with Node.js and Fastify, using Prisma ORM with a MySQL database. The application is hosted on Google Cloud and images are stored in Cloudinary.
Design
The web design was created in Figma. The site is responsive and adapts to any device, and shadcn was used for the components to give it a more modern and attractive look.
Scraping
The application includes a scraping system that updates products daily. Puppeteer was used for scraping, and products are stored in a MySQL database.