Projet : Sales Portal – Customer Portal
C’est une application web construite sur le framework Angular, qui est largement reconnu pour la création d'applications (SPA) interactives. Le portail est intégré à l'ERP Infor LN, un système de planification des ressources d'entreprise.
La communication entre le portail et Infor LN est établie grâce à ION API, un outil spécifique d'Infor, qui facilite l'intégration, l'orchestration et l'intelligence d'entreprise.
La partie back-end est développée via Django Rest Framework (DRF), un ensemble puissant d'outils pour construire des API Web.
Tâches effectuées :
Backend
Modélisation des données Conception des modèles de bases de données pour refléter les besoins métier de l'application tout en prenant en compte une architecture multi-tenante, permettant d'isoler les données de différents clients ou utilisateurs tout en utilisant une seule instance de l'application.
Création des Serializers Utilisation des Serializers DRF pour convertir des modèles complexes en formats JSON faciles à rendre et vice versa
Développement des API views Mise en place des vues basées sur des fonctions ou des classes pour traiter les requêtes API.
Gestion de l'authentification Intégration de systèmes d'authentification tels que Token Authentication, OAuth, ou JWT pour sécuriser l'accès à l'API.
Permissions et autorisations Mise en place de systèmes de permissions pour limiter l'accès aux ressources API enfonction des rôles des utilisateurs.
Pagination Implémentation de la pagination pour traiter et afficher des grands ensembles de données efficacement.
Gestion des erreurs Mise en place d'une gestion d'erreurs robuste pour renvoyer des réponses appropriées en cas d'erreurs ou d'exceptions.
Documentation Utilisation d'outils Swagger pour générer une documentation claire et accessible des endpoints API.
Frontend
Conception de Composants Création et structuration de composants modulaires pour faciliter la réutilisation et l'entretien du code.
Gestion des États avec les Services et RxJS Utilisation des services Angular et de la bibliothèque RxJS pour gérer et manipuler les états de l'application de manière réactive.
Intégration d'APIs Connexion avec des endpoints backend via des services HTTP pour récupérer, afficher et envoyer des données.
Routing et Navigation Configuration du module de routage d'Angular pour gérer la navigation entre les différentes parties de l'application.
Conception de l'UI/UX définir le design et le flux utilisateur de l'application utilisant HTML5 et CSS et Typescript
Formulaires Création de formulaires réactifs et basés sur des templates pour la collecte et la validation des données utilisateurs.
Tests Unitaires et d'Intégration Rédaction de tests à l'aide de Jasmine et JEST pour assurer la qualité et la fiabilité du code.
Déploiement Préparation de la version de production de l'application en utilisant des outils comme Angular CLI pour le build et le déploiement.
Optimisation des Performances Utilisation de techniques telles que le lazy loading, le changement de détection et l'AoT (Ahead-of-Time) compilation pour améliorer les performances.
Gestion des Erreurs Mise en œuvre de mécanismes pour détecter, traiter et afficher les erreurs de manière conviviale. Intégration de Librairies Tiers : Intégration de bibliothèques et plugins tiers pour ajouter des fonctionnalités supplémentaires sans réinventer la roue.
Projet 1: Linedfishers
Linedfishers est une application web conçue avec Angular pour le frontend, s'appuyant sur un backend avec Node.js et le framework Express.js développé avec Typescript. La gestion des données est assurée par MongoDB Atlas .
Cette plateforme e-commerce offre aux utilisateurs la possibilité d'acheter ou de louer des équipements de pêche à travers son module Marché. Parallèlement, le module Événement permet l'affichage et l'inscription à diverses activités liées à la pêche. Le module Médias Sociaux enrichit l'expérience utilisateur en permettant le partage d'expériences, de photos et de vidéos, tout en offrant un système de commentaires et d'évaluations. La sécurité des comptes utilisateurs est garantie par une authentification via JWT, et les transactions sont sécurisées grâce à l'intégration de passerelles de paiement reconnues.
Tâches effectuées :
Backend
Initialisation du serveur Mise en place d'un serveur Node.js en utilisant le framework Express.js pour gérer les requêtes HTTP et définir les routes
Modélisation de la base de données Conception des schémas avec MongoDB pour stocker les informations des produits, des utilisateurs, des événements et des publications sur les médias sociaux.
API RESTful Création d'une API RESTful pour interagir avec la base de données, permettant des opérations CRUD (Création, Lecture, Mise à jour, Suppression) sur les produits, les événements et les publications. Avec TypeScript
Sécurité Mise en œuvre d'un système d'authentification et d'autorisation basé sur JWT pour sécuriser l'accès aux données et aux routes sensibles
Intégration de passerelles de paiement Intégration avec des solutions de paiement tierces pour gérer les transactions e-commerce en toute sécurité.
Gestion des erreurs Mise en place d'un système de gestion des erreurs pour traiter les exceptions et renvoyer des réponses appropriées aux clients
Optimisation des performances Utilisation de techniques de mise en cache, d'indexation de la base de données et de pagination pour assurer une réponse rapide du serveur
Tests Rédaction et exécution de tests unitaires et d'intégration pour garantir la fiabilité et la stabilité du backend.
Frontend
Configuration du Projet Mise en place initiale du projet Angular, configuration de l'environnement de développement, et intégration des dépendances nécessaires
Conception de l'UI/ UX Création des maquettes et des prototypes pour définir le design et le flux utilisateur de l'application utilisant HTML5 et CSS et Typescript
Développement des Composants Création des composants Angular pour chaque élément de l'interface, comme les listes de produits, les formulaires d'inscription, et les sections de commentaires.
Intégration de l'API Connexion du frontend au backend via des requêtes HTTP pour interagir avec la base de données et récupérer ou envoyer des données.
Routage Mise en place du système de navigation entre les différentes pages et modules de l'application.
Réactivité et Adaptabilité Utilisation de techniques CSS et de frameworks comme Bootstrap ou Angular Material pour garantir que l'application est bien affichée sur tous les appareils, qu'il s'agisse de desktops, tablettes ou smartphones.
Optimisation des Performances Mise en œuvre de techniques comme le lazy loading pour optimiser le temps de chargement des pages.
Tests Frontend Rédaction et exécution de tests unitaires et d'interface utilisateur pour s'assurer que le frontend fonctionne comme prévu.
Documentation Rédaction d'une documentation claire pour les développeurs et les designers
Projet 1: Système A.V.A allocation pour voyage d’affaire
Une application qui sert à calculer le taux de change de devise pour les personnes qui vont effectuer un voyage d’affaire dehors du territoire tunisien qui interagie avec des applications tiers comme le système de change monétaire a travers des API REST sécurisée
Tâches effectuées :
Backend
Modélisation des données Conception des entités pour stocker les informations des bénéficiaires, des utilisateurs, des dossiers avec Entity Framework Code First et SQL Server...
Le module répétitif fait référence à une fonctionnalité qui permet de gérer des processus ou des tâches répétitives de manière automatisée au sein du système ERP LN . Ce module vise à simplifier et à rationaliser la gestion des opérations qui se répètent fréquemment, améliorant ainsi l'efficacité opérationnelle.
Plus spécifiquement, le module répétitif d'Infor LN peut être utilisé pour automatiser des processus tels que la génération de factures récurrentes, la planification des sessions de production, la gestion des tableaux de bord périodiques, et d'autres activités similaires. Il permet aux entreprises d'économiser du temps et des ressources en automatisant ces processus, réduisant ainsi les erreurs potentielles et améliorant la précision des opérations.
Tâches effectuées :
• Elaboration des documents fonctionnels et techniques visant à répondre aux besoins spécifiques du client
• Participation au développement en collaboration avec Infor pour le développement du module répétitive
• Participation aux réunions de planification des sprints