Skip to content
View raouf-b-dev's full-sized avatar
:bowtie:
Open to work
:bowtie:
Open to work
  • PharmaInvestSPA
  • El Eulma
  • 19:19 (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

The store API and the admin dashboard are one product. The API holds domain logic, auth, and business rules. The dashboard is a React client on top of it.

NestJS modular monolith covering catalog, cart, checkout, payments, inventory, and identity. Reference backend: run it locally with Docker. Payments use a mock adapter.

  • Keep modules independent by talking through gateways and events instead of importing internals.
  • Keep checkout consistent with a compensating BullMQ SAGA. Protect stock with PostgreSQL row locks.
  • Speed up reads and dedupe writes with Redis. Authenticate with RSA JWT/JWKS, rotating refresh tokens, and RBAC.
  • Separate list/detail reads with CQRS query adapters. Fail CI when 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.

  • Generate the UI client from OpenAPI so screens stay aligned with the API. No BFF.
  • Filter nav and pages by permissions for UX. Enforce access on the API.
  • Run against a local API, or MSW 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: Angular · RxJS · NgRx · React · TanStack Query

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 53 2

  2. 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 2