Loading projects…
A complete online shop for JF LAROSE Laboratoires (PLANTAXION SARL): twelve plant-based formulas sold cash on delivery across all 58 Algerian wilayas, in French and Arabic, with a back office where the team runs the catalogue, the orders, the delivery prices and the courier paperwork itself. Storefront, API and admin panel all built by me.

JF LAROSE Laboratoires manufactures twelve plant-based, external-use formulas in Soumaa, wilaya de Blida. They sell across the whole country the way Algerian commerce actually works: the customer orders online and pays the delivery driver in cash at the door. No card, no bank details, no account required.
That sounds simple until you price it. Delivery costs a different amount in each of the 58 wilayas, and differs again between home delivery and a stop-desk pickup point. The shop has to quote the right figure before the customer commits, in French or in Arabic, and then hand the courier a file their own delivery company can import without editing.
A storefront in French and Arabic — a real right-to-left layout, not a translated afterthought — where visitors browse the twelve formulas by what they need rather than by category: pain, digestion, circulation, hair, cold, and so on. Search tolerates missing accents, because nobody types « détente » with the accent on a phone.
Checkout is three steps: basket, delivery, confirmation. There is also a shortcut — on a product page the order form is already open, so someone who wants one bottle enters their name, phone and wilaya and is finished without ever seeing a cart.
The team runs the whole shop from a French-language admin panel with no developer in the loop: dashboard, products, orders, clients, contact messages and settings.
Two parts of it earn their keep every single day. The delivery grid holds a price for all 58 wilayas and 1 548 communes and travels as an Excel file — download it, reprice it in a spreadsheet, upload it back. And the carrier export writes the delivery company’s own eighteen columns, spelled and ordered exactly as their importer expects, for every confirmed order in a chosen date window.
The team changes a price, hides a product, reprices a wilaya and exports the day’s deliveries — without calling me.
The storefront is Next.js 15 with React 19 and strict TypeScript, server-rendered, with next-intl driving the French/Arabic routing and zustand keeping the cart across reloads. The API is NestJS on PostgreSQL through Prisma, product photos live in MinIO object storage, and the session is an httpOnly cookie. The admin panel is part of the same Next.js app, behind a role check enforced on the server — never only in the browser.
One decision is worth calling out, because it is what keeps the two halves honest: every shape that crosses between the front end and the API is declared in a single file, and a backend test reads that file at run time. Change a field on one side without changing the other and the suite fails. Prices are integers in dinars everywhere — no floating point, no cents, no rounding surprises.
I built all of it at Sadeem Informatique: the storefront, the NestJS API, the database and its seeding, the object storage, the admin back office, the delivery pricing, the carrier export, the transactional e-mails and the test suites. Front end and back end, end to end.
The shop is live at store.jf-larose.com. Twelve products, 58 wilayas, two languages, cash on delivery — and a team that runs its own catalogue, prices and paperwork without touching code.