Overview
A full-stack product management application: a typed REST API for creating, updating and toggling the availability of products, with a React frontend on top. The focus was on doing the unglamorous parts properly — validation on both ends, documented endpoints and a tested API.
Technology
Backend
- Node.js + Express + TypeScript — typed REST API.
- PostgreSQL + Sequelize — relational persistence.
- Express Validator — request validation and sanitization.
- Swagger — API documentation.
- Jest + Supertest — HTTP-level API tests.
Frontend
- React + Tailwind CSS — UI.
- Valibot — schema validation on the client.
- Axios — API communication.
What I learned
Testing HTTP APIs with Jest and Supertest, documenting endpoints with Swagger, and validating data on both sides of the wire — the habits that later carried into my professional backend work.