/M
Mohamed Ali Boudokhane
Open to opportunitiesTunisia

Software Engineer

Junior software engineer with a Licence in Software Engineering and three development internships across web and mobile. I work in the TypeScript and Java ecosystems: NestJS and Next.js, Angular and Spring Boot, React Native and Firebase, with relational and NoSQL databases, REST APIs and JWT authentication.

About

I graduated with a Licence in Software Engineering from EPI Digital School in Sousse, and spent the years since building real products inside real teams: an e-commerce marketplace, a cross-platform app fighting food waste, and a multi-tenant stock management platform.

What I enjoy most is owning a feature end to end: designing the data model, exposing it through a clean REST API, securing it properly, then building the interface that makes it feel obvious. I care about authentication done right, data that cannot leak between tenants, and code that the next person can read.

I work comfortably in both the TypeScript and the Java worlds, and I am equally happy writing a Drizzle schema, a Spring Security filter chain, or a Framer Motion transition.

Based inTunisia
DegreeLicence in Software Engineering
Main stackTypeScript · NestJS · Next.js
Second stackJava · Spring Boot · Angular
Skills

The technologies I reach for, grouped by what they actually do.

Main stack

  • TypeScript
  • NestJS
  • Next.js / React
  • Java
  • Spring Boot
  • Angular
  • PostgreSQL

Languages

  • TypeScript
  • JavaScript
  • Java
  • PHP
  • SQL
  • HTML
  • CSS

Frontend

  • Next.js
  • React
  • Angular
  • React Native / Expo
  • Tailwind CSS
  • Bootstrap
  • SCSS

Backend

  • NestJS
  • Spring Boot
  • Spring Web
  • Spring Data JPA
  • Hibernate
  • PHP
  • REST
  • Swagger

Databases & ORM

  • PostgreSQL
  • MySQL
  • Cloud Firestore
  • Redis
  • Drizzle ORM
  • Prisma

Security & testing

  • Spring Security
  • JWT
  • bcrypt
  • JUnit
  • Spring Boot Test

Tools & platforms

  • Git
  • Supabase
  • Firebase
  • Vercel
  • Angular CLI
  • Expo
  • Maven
  • npm
Experience

Three internships, three stacks, three very different problems.

  1. Software Development Intern

    G.E.I.B Digital Connect

    January 2026 – June 2026 · 5 months · Sousse, Tunisia

    Full-stack e-commerce marketplace built inside the company's development department.

    Developed the backend as a REST API with NestJS and TypeScript, using Drizzle ORM for the data access layer over a Supabase PostgreSQL database, with Redis in the backend stack.

    Built the marketplace front end with React and Next.js, working across the full stack from database schema and API endpoints through to the user interface.

    StackTypeScriptNestJSDrizzle ORMSupabasePostgreSQLRedisReactNext.js
  2. Final-Year Project Intern (PFE)

    Terraform Group

    February 2025 – May 2025 · 4 months · Sousse, Tunisia

    Profiti, a cross-platform marketplace reducing food waste by connecting shops with unsold or end-of-day products to users buying them at reduced prices.

    Built a TypeScript Expo application for iOS, Android and web with Expo Router and role-specific navigation for buyers, sellers and couriers.

    Implemented a geo-based marketplace (GPS location, Haversine filtering within 10 km, search, listing expiry) and a checkout flow with pickup or delivery, distance-based fees, stock management and Firestore cart synchronisation.

    Implemented courier matching within 3 km with accept and refuse flows, multi-stop routing and real-time Firestore notifications; secured accounts with Firebase Authentication, email verification, password reset and role-based routing.

    StackTypeScriptReact NativeExpoFirebase AuthenticationCloud Firestore
  3. Web Development Intern

    INFOPLUS

    July 2024 – August 2024 · 1 month · Bizerte, Tunisia

    Full-stack stock management platform covering articles, categories, clients, suppliers, orders and stock movements.

    Implemented JWT authentication with Spring Security and BCrypt, together with an Angular HTTP interceptor and route guards.

    Designed multi-tenant data isolation using the company ID carried in the JWT and Hibernate SQL filtering; modelled stock entries and exits from client and supplier orders with Spring Data JPA and MySQL.

    Generated the Angular API client from Swagger and wrote JUnit tests for category persistence.

    StackAngularTypeScriptJavaSpring BootSpring Data JPAHibernateSpring SecurityJWTMySQLRESTSwaggerJUnit
Projects

Personal projects, shipped end to end.

Personal project

Le Saphir Bleu

Restaurant website with online booking and a staff CMS

  • Built a Next.js 15 App Router application with public and admin pages and JSON REST API route handlers; modelled PostgreSQL data with Prisma for menu, locations, reservations, messages, media and settings.
  • Implemented JWT staff authentication with bcrypt, httpOnly cookies, role-based access control and token revocation; validated payloads with Zod and enforced reservation rules for time slots, guest limits and capacity.
  • Integrated Cloudinary and Resend, and deployed the application on Vercel.
StackTypeScriptNext.js 15React 19Tailwind CSS 4PostgreSQLPrismaSupabaseJWTVercel

Personal project

EPI Network

A server-rendered social network in PHP and MySQL

  • Built a PHP 8 application with registration, login and logout, session guards, Post/Redirect/Get, a post feed with owner-only edit and delete, image attachments and post reporting.
  • Secured authentication with password_hash and password_verify, prepared statements and output escaping.
  • Implemented image uploads validated by MIME type and file size, with randomised filenames.
StackPHP 8MySQLJavaScriptBootstrapHTMLCSSGit
Education

2022 – 2025

Licence in Software Engineering

EPI Digital School, Sousse, Tunisia

Certifications

  • ÖSD Zertifikat A2 (German)

    International Institute for Studies and Cooperation (IISC), Kairouan, Tunisia

  • Microsoft Office Specialist, Excel 2019 Associate

    Microsoft / Certiport · January 2024

Languages

  • ArabicNative
  • FrenchProfessional
  • EnglishProfessional
  • GermanA2
Contact

I'm open to junior software engineering roles, internships and freelance work. The fastest way to reach me is email.