All projects

Carnicería de Raúl

University · 2024
Period
2024
Technologies
Node.js · Express · TypeScript · EJS · MySQL · Stripe
Carnicería de Raúl — Product page reinterpreted for the portfolio · demonstration data
Illustrative storefront · reinterpretation of the original pre-AI university project

Where it started

During Erasmus in Almería, I developed a university e-commerce project for a Madrid butcher with students from four countries. We built it without generative AI tools.

Problems and decisions

Understanding the shop together

The sector was new to the team and everyone brought different experience. Before designing the catalogue and checkout, we had to understand the butcher’s business and find a shared language for making decisions.

Thinking about Arabic

We considered an Arabic version, which would have required right-to-left reading and changes to navigation and alignment. Catalogue planning also covered dietary preferences, such as excluding pork products. The project uses i18next for translations. The Arabic version remained a proposal.

Accounts and payments

Within the team, I handled registration, sign-in and roles, security and cryptography, Stripe integration and the legal aspects of checkout. My work connected the purchase experience to the application’s controls.

How it works

  1. Node.js, Express and TypeScript handle requests. EJS templates generate HTML on the server. CSS, JavaScript and Bootstrap form the interface.
  2. MySQL stores application data. Repository seed scripts provide demonstration products and data for development.
  3. Sessions and dedicated routes connect authentication, catalogue, cart, orders and administration around shared application data.
  4. i18next manages translated content. I integrated Stripe into the purchase flow and worked on identity and role checks connecting the interface to the server.

What I learned

Working with students from other countries taught me to clarify terminology, responsibilities and shared decisions. In my work on identity and payments, I connected interface behaviour to server checks. These are two parts of the same purchase journey.

Current status

A team university project developed without generative AI. The catalogue and cart have been recomposed for the portfolio using demo data.

Source

An interesting problem?

Tell me what you want to build or improve, who will use it and what constraints you have. I’ll get back to you so we can work out where to start.