WL
Java Full Stack Developer
Wassim Lagnaoui

Projects

A collection of full-stack applications showcasing microservices architecture, Spring Boot development, and modern web technologies.

Ecommerce Microservices Platform

Production‑ready microservices‑based e‑commerce system with event‑driven architecture, service discovery, API gateway, and comprehensive resilience patterns using Spring Boot and Apache Kafka.

Project Overview

Complete microservices implementation handling user management, product catalog, shopping cart, order processing, payments, shipping, and notifications through 9 loosely‑coupled, independently deployable services.

Key Features

  • 9 independent microservices with clear bounded contexts.
  • Event‑driven architecture with Apache Kafka.
  • Service discovery via Netflix Eureka.
  • API Gateway with routing & rate limiting.
  • Resilience4j patterns: circuit breakers, retries, bulkheads.
  • Domain‑Driven Design with separate data stores.
  • Comprehensive REST APIs with resilience patterns.

Tech Stack

Java 17 Spring Boot 3.x Spring Cloud Gateway Netflix Eureka Apache Kafka Resilience4j PostgreSQL JPA/Hibernate Maven Docker

Microservices Architecture

API Gateway → Port 7000
User Service → Port 7001
Product Service → Port 7002
Cart Service → Port 7003
Order Service → Port 7004
Payment Service → Port 7005
Shipping Service → Port 7006
Notification Service → Port 7007
Eureka Server → Port 8761

Quick Start

git clone https://github.com/wl0182/Ecommerce-Microservices.git
cd Ecommerce-Microservices

# Setup databases
createdb user_service_db
createdb product_service_db
createdb cart_service_db
createdb order_service_db
createdb payment_service_db
createdb shipping_service_db
createdb notification_service_db

# Run all services
chmod +x run-all.sh
./run-all.sh
Service Discovery Dashboard

Restaurant Management System

Full‑stack system for servers, kitchen staff, and administrators. Real‑time queueing, role‑based access, analytics, and responsive UIs.

Project Overview

End‑to‑end restaurant operations: staff authentication, menu and pricing, order taking, kitchen queue, table sessions, and admin analytics — all with a responsive UI.

Key Features

  • JWT auth with role‑based access (Admin/Staff).
  • Real‑time kitchen queue and order tracking.
  • Menu, staff, and session management with analytics.
  • Responsive design for handheld devices.

Tech Stack

Java 17 Spring Boot Spring Security JPA/Hibernate PostgreSQL React Vite Tailwind CSS Swagger Docker Compose Jenkins JUnit Mockito

Run with Docker Compose

git clone https://github.com/wl0182/Restaurant-Ordering-System.git
cd Restaurant-Ordering-System

# .env
POSTGRES_DB=your_db_name
POSTGRES_USER=your_db_user
POSTGRES_PASSWORD=your_db_password
SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/your_db_name
SPRING_DATASOURCE_USERNAME=your_db_user
SPRING_DATASOURCE_PASSWORD=your_db_password
JWT_SECRET=your_secure_jwt_secret

docker-compose up
Frontend: http://localhost:3000
Backend: http://localhost:8080
Swagger: http://localhost:8080/swagger-ui/index.html
Default Admin
Email: admin@example.com • Password: Password

Ecommerce Platform

Modern Spring Boot e-commerce application with comprehensive JWT authentication, customer management, product catalog, and order processing capabilities.

Project Overview

Complete e-commerce backend with JWT authentication, role-based access control, customer management, product catalog with reviews, and comprehensive order processing system.

Key Features

  • JWT authentication & role-based access control.
  • Customer management with order history & reviews.
  • Product catalog with categories & stock management.
  • Order processing with status tracking.
  • Interactive Swagger UI documentation.
  • PostgreSQL database with Docker setup.

Tech Stack

Java 17 Spring Boot Spring Security JWT Auth PostgreSQL 15 JPA/Hibernate OpenAPI 3.0 Docker Maven

Run with Docker Compose

git clone https://github.com/wl0182/Ecommerce.git
cd Ecommerce

# .env
POSTGRES_DB=your_db_name
POSTGRES_USER=your_db_user
POSTGRES_PASSWORD=your_db_password
SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/your_db_name
SPRING_DATASOURCE_USERNAME=your_db_user
SPRING_DATASOURCE_PASSWORD=your_db_password
JWT_SECRET=your_secure_jwt_secret

docker-compose up -d
Backend API: http://localhost:8060
Swagger UI: http://localhost:8060/swagger-ui.html
Health Check: http://localhost:8060/health
Default Admin
Username: admin • Password: admin123

Enterprise Projects (employer‑owned)

Backend Modernization

Employer‑owned

Migrated on-prem services to Kubernetes with PostgreSQL and Spring Data JPA.

License Lookup & User Mapping

Employer‑owned

Role‑aware REST APIs with JWT auth and OpenAPI for internal users.

Notification Preprocessing

Employer‑owned

CTE‑based SQL jobs preparing payloads for email dispatch reliability.