Aller au contenu
Vuk Cvetković

Ingénieur logiciel

Niš, Serbie

VukCvetković

Je travaille sur l’ensemble du produit, du modèle de données jusqu’à la mise en production. J’écris le backend en Node.js (NestJS, Express) et en .NET. Sur AWS, je m’occupe du déploiement et de la communication événementielle entre les services, et tout ce que voit l’utilisateur, je le construis en React.

Portrait de Vuk Cvetković
  • NestJS
  • Node.js
  • Express
  • .NET
  • Python
  • React
  • Astro
  • SQL
  • MongoDB
  • AWS
  • Docker

À propos

Je travaille sur des projets clients, du premier modèle de données jusqu’au déploiement sur AWS. Je pars toujours du domaine : quelles sont les données, qui peut y accéder et avec quels systèmes elles doivent communiquer. L’API, les services et l’interface React en découlent.

Formation

Je suis titulaire d’un master en génie logiciel. Mon mémoire comparait deux écosystèmes d’apprentissage automatique sur une même tâche : un modèle YOLOv8m en Python et un modèle ML.NET en .NET, derrière une seule passerelle NestJS et un seul frontend React.

Jeux

Le meilleur exemple de mon travail frontend, c’est ce site : quatre langues et sept jeux écrits sans canvas ni bibliothèque de jeu. Chaque jeu est accompagné d’un texte qui explique comment il a été construit.

Compétences

Backend

  • NestJS
  • Node.js
  • Express
  • .NET
  • Python

Frontend

  • React
  • Astro

Données

  • SQL
  • MongoDB

Cloud et DevOps

  • AWS
  • Docker

Expérience

  1. Ncoded Solutions

    Développeur backend

    2024 -

    • Des services backend en Node.js (NestJS, Express) : API REST, authentification JWT, contrôle d’accès par rôles et intégrations tierces, sur des bases SQL comme documentaires.
    • Le même travail en .NET, structuré en Clean Architecture pour que la logique métier reste découplée du framework.
    • Côté AWS : S3, ECS, EC2, Lambda, Route 53 et EventBridge, pour les déploiements et la communication événementielle entre les services.
  2. Novateq Global

    Développeur full-stack

    2023 - 2024

    • Des services backend en .NET Web API et le site de l’entreprise en ASP.NET MVC, adaptés aux besoins de chaque client.
    • J’ai assuré la stabilité de la plateforme Sportsbook en traitant les incidents remontés, et j’ai étudié des projets de jeux de casino pour comprendre comment ce type de produit se construit.
  3. Formation

    Master, génie logiciel

    Faculté de génie électronique, Université de Niš

    2023 - 2026

    Mémoire de masterSystème comparatif de détection d’objetsUne même image soumise à deux écosystèmes d’apprentissage automatique, avec une réponse au même format.
  4. Licence, informatique

    Faculté de génie électronique, Université de Niš

    2019 - 2023

    Mémoire de licenceEncryptixTrois chiffrements derrière un seul service, et une empreinte aux deux bouts pour prouver que le fichier est revenu intact.
    • React
    • NestJS
    • FastAPI
    • Ultralytics
    • ASP.NET Core
    • ML.NET

    2026Mémoire de master, Faculté de génie électronique de Niš

    Système comparatif de détection d’objets

    Une même image soumise à deux écosystèmes d’apprentissage automatique, avec une réponse au même format.

    Mon mémoire de master. Une même image passe par un modèle YOLOv8m en Python et par un modèle ML.NET en .NET, tous deux derrière une passerelle qui répond dans un format unique, si bien qu’un seul frontend React affiche l’un ou l’autre résultat. La reprise des annotations a porté YOLOv8m à un mAP@0.5 de 0,916, contre 0,748 pour ML.NET.

    0,916mAP@0.5 pour YOLOv8m, contre 0,748 pour ML.NET

    Voir le détailFrontendPasserelleService PythonService .NET

    • C#
    • .NET
    • WCF
    • Windows Forms

    2023Mémoire de licence, Faculté de génie électronique de Niš

    Encryptix

    Trois chiffrements derrière un seul service, et une empreinte aux deux bouts pour prouver que le fichier est revenu intact.

    Mon mémoire de licence. Une application de bureau confie un dossier entier à un service WCF, qui chiffre chaque fichier avec AES, RC6 ou XXTEA - les deux derniers implémentés d’après leur spécification plutôt que tirés d’une bibliothèque - et enregistre une empreinte SHA-512 avant et après chaque passage, ce qui permet de prouver l’aller-retour au lieu de le supposer. Le traitement en parallèle a fait passer un lot de 150 fichiers de 68,91 à 44,16 secondes.

    44,16 s150 fichiers en parallèle, contre 68,91 s avant

    Voir le détailCode source

    • Python
    • Tkinter
    • Pyshark
    • Matplotlib

    2024Mémoire de séminaire, Faculté de génie électronique de Niš

    Network Traffic Analyzer

    Une capture lue une seule fois, puis douze questions posées à chacun de ses paquets.

    Un mémoire de séminaire sur l’analyse du trafic, avec une application de bureau qui la met en pratique. L’application ouvre une capture .pcapng via Pyshark, parcourt chaque paquet couche par couche et présente ce que transporte chaque protocole - en-têtes HTTP, requêtes DNS, drapeaux TCP, identifiants FTP - dans une arborescence dépliable, avec un graphique de la répartition des protocoles.

    Voir le détailCode source

    • React Native
    • Expo
    • NestJS
    • MongoDB

    2024Mémoire de séminaire sur les systèmes d’e-administration, Faculté de génie électronique de Niš

    Easy Breathe

    Les relevés publics de pollen en Serbie, filtrés pour ne garder que ceux qui concernent une personne.

    Une application mobile construite sur des données publiques ouvertes. L’agence serbe de l’environnement publie les relevés de pollen des stations de tout le pays, et l’application les copie à intervalles réguliers dans sa propre base, puis ne garde que les allergènes choisis par l’utilisateur, dans le rayon qu’il a fixé. Elle affiche le résultat sur une carte, par niveau de concentration, et par une notification push quand un niveau augmente.

    Voir le détailApplication mobileAPI

Comment je peux vous aider

  • Développement backend et API

    Des API REST et des services en Node.js (NestJS, Express) ou en .NET, avec la modélisation des données, l’authentification, le contrôle d’accès par rôles et les intégrations tierces.

    • NestJS
    • Node.js
    • Express
    • .NET
    En pratiqueSystème comparatif de détection d’objets
  • Développement produit full-stack

    Une fonctionnalité entière, confiée à une seule personne : le schéma de la base de données, l’API et les écrans React qui s’en servent.

    • React
    • NestJS
    • MongoDB
    En pratiqueEasy Breathe
  • Architecture et déploiement AWS

    Mettre en place une infrastructure cloud ou consolider celle qui tourne déjà : environnements, pipelines CI/CD, et une revue des coûts et de la fiabilité.

    • AWS
    • Docker
    En pratiqueNcoded Solutions
  • Revue technique et conseil

    L’audit d’une base de code ou d’une architecture existante : ce qu’il faut corriger en premier, un plan de refactorisation, et si une réécriture se justifie.

    En pratiqueNovateq Global

Contact

L’e-mail est le moyen le plus rapide de me joindre. Si vous avez un projet en tête, une description sommaire du problème suffit pour commencer.

Me contacter
Esc