Skip to content
§ 00
CASE / 07 / 07

Magasin ESI.

YEAR
2024
ROLE
Full-stack · internal tool
STACK
Node.js · React · PostgreSQL
FIG 00cover · magasin-esi
§ 00
OVERVIEW

A stock-management web app built to digitise the ESI Sidi Bel Abbès stockroom: it tracks every entry and exit, manages stock flows, and enforces role-based access across five roles — Director, Department Head, Storekeeper, Accountant, and Consumer. Built with Node.js and React.

Internal toolRBACReactNode.js
§ 00
BUILD

Digitising the stockroom.

Magasin ESI (internally, ES3) replaced a paper-and-spreadsheet stockroom at ESI Sidi Bel Abbès with a single web application. It tracks every entry and exit, keeps a live picture of what is on the shelves, and routes stock requests through the people who have to approve them.

Role-based access, because the org chart is the spec.

The interesting constraint was access control. A stockroom is not one user — it is a chain of responsibilities, so the app implements RBAC across five roles: Director, Department Head, Storekeeper, Accountant, and Consumer. Each role sees and does exactly what its position allows; a request moves through the chain rather than around it.

Stack and scope.

Node.js and React, backed by PostgreSQL. The scope is deliberately narrow — an internal tool for one institution, not a multi-tenant product — and the interface follows from that: fast, legible, and built around the daily rhythm of the people who actually run the stockroom.

§ 00
PLATFORMS

Where it runs.

WEB
§ 00
REFLECTION

The harness teaches you what the model is doing. Build it first; the rest is implementation.