Skip to content
View raouf-b-dev's full-sized avatar
:bowtie:
Open to work
:bowtie:
Open to work
  • PharmaInvestSPA
  • El Eulma
  • 00:50 (UTC +01:00)
  • LinkedIn in/rbdz

Block or report raouf-b-dev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
raouf-b-dev/README.md

Abderaouf Bouzerara

Backend engineer · TypeScript · NestJS · PostgreSQL

Four years as a backend engineer. Looking for a remote role.

LinkedIn

Projects

Three open-source repos that make up one product. The API holds the domain logic, auth, and business rules. The admin dashboard and storefront are clients on top of it. Everything runs locally; there is no hosted demo.

NestJS modular monolith for catalog, cart, checkout, payments, inventory, and identity. Spin it up with Docker. Payments go through a mock adapter.

  • Modules stay independent: they talk through gateways and events instead of importing each other's internals.
  • Checkout stays consistent with a compensating BullMQ SAGA. Stock is protected with PostgreSQL row locks.
  • Redis speeds up reads and dedupes writes. Auth uses RSA JWT/JWKS, rotating refresh tokens, and RBAC.
  • List and detail reads go through CQRS query adapters. CI fails if a module crosses a boundary.
  • Jest, Testcontainers, e2e and integration tests, GitHub Actions.
  • OpenTelemetry, Prometheus, Grafana, and structured logs.

React (Vite) operator console for that API: products, categories, inventory, orders, users, and roles.

  • UI client is generated from OpenAPI so the screens stay in sync with the API. No BFF.
  • Nav and pages filter by permissions for UX; the API still enforces access.
  • Point it at a local API, or use MSW when you only need the UI.

Next.js App Router customer storefront for the same API: catalog, cart, checkout, orders, and account.

  • OpenAPI-typed client. The app handles UI and caching; pricing, stock, and checkout stay in the API.
  • Point it at a local API, or use MSW for shopper paths when you only need the UI.

Stack

Backend: TypeScript · Node.js · NestJS · PostgreSQL · TypeORM · Redis · BullMQ
Architecture: DDD · Hexagonal · CQRS · SAGA
Security: RBAC · JWT/JWKS · refresh-token rotation · rate limiting
Infra: Docker · GitHub Actions · Jest · Testcontainers · OpenTelemetry · Prometheus · Grafana
Frontend: React · Next.js · Vite · TanStack Query · Angular · RxJS · NgRx

Pinned Loading

  1. ecommerce-store-api ecommerce-store-api Public

    NestJS modular-monolith ecommerce API with ACL-isolated modules, compensating checkout SAGA, inventory locking, RSA JWT/RBAC, CQRS read adapters, and CI for unit, integration, e2e, and architecture…

    TypeScript 56 5

  2. ecommerce-store-web ecommerce-store-web Public

    Next.js App Router storefront for the ecommerce store API: catalog, cart, checkout, orders, and customer accounts.

    TypeScript 7

  3. ecommerce-admin-dashboard ecommerce-admin-dashboard Public

    React operator dashboard for the ecommerce store API. Vite, TypeScript, TanStack Query, and an OpenAPI-typed client. Covers authentication, catalog, inventory, orders, users, and analytics. Domain …

    TypeScript 8 1

  4. ecommerce-platform ecommerce-platform Public

    Run the ecommerce API, admin dashboard and storefront together with one docker compose command. Pinned releases, demo data, no source checkout.

    JavaScript 2