Full-stack Developer
EXEVIO Ltd (Rijeka, Croatia) : june 2023 – july 2023
Web development internship as part of a 4-week international mobility program. Missions carried out at EXEVIO Ltd’s offices in RIJEKA, Croatia.
Twitter Clone Proof of Concept
- Backend development
- Frontend development
- Designing REST APIs
Requirements :
- Backend : Laravel framework
- Frontend : Vue.js (Vuetify design)
- Laravel backend would function as an API consumed by the front-end interface
- The front-end would function as a SPA (Single Page Application)
Bullet points :
- Authentication/Session management using Laravel’s authenticatoin mechanisms
- Eloquent for handling data from the database
- Validation of input data
Email Processing Web Application
Phase 1: Traitement IMAP
Objectif:
Développer un script PHP pour traiter des comptes email via le protocole IMAP et enregistrer les emails importants dans une base de données PostgreSQL.
Fonctionnalités:
- Configuration .env: Support pour plusieurs comptes email (email, mot de passe, protocole, port, hôte).
- Connexion IMAP: Connexion à chaque compte email.
- Lecture et Sauvegarde: Lecture de tous les emails et sauvegarde des informations suivantes :
– timestamp (yyyy-mm-dd H:i:s)
– subject
– fromemail
– location (inbox, spam, etc.)
– code (extraction d’un code de type `APE1234` du sujet de l’email) - Filtrage des Emails: Suppression des emails sans code APE et ceux déjà sauvegardés dans la base de données.
- Gestion des Erreurs: Simulation d’erreurs de connexion aux serveurs et envoi de notifications avec détails sur Google Chat.
Phase 2: Backend API
Objectif:
Développer un service API Restful pour permettre l’enregistrement et la consultation des emails via un code APE.
Fonctionnalités:
- Endpoints API:
– register: Génération d’un code APE valide pour 24 heures.
– read: Liste des emails associés à un code APE spécifique. - Gestion des Expirations: Vérification de la validité des codes APE.
- Journalisation: Enregistrement des requêtes dans une table log, incluant le hash MD5 de l’adresse IP publique de l’utilisateur pour éviter les abus.
- Limite de 5 codes APE enregistrés ou lus par IP toutes les 15 minutes.
Phase 3: Frontend
Objectif:
Développer une interface web réactive permettant aux utilisateurs de créer un code APE et de voir la liste des emails associés en temps réel.
Technologies:
- Framework: Vue.js avec Vuetify.
- Stockage Persitant: Utilisation de Pinia pour gérer le stockage des données provenant de l’API.
Conclusion
Le projet APE Mail Logs consiste à traiter des emails pour en extraire des informations pertinentes, les sauvegarder dans une base de données, et offrir un accès via une API et une interface web. L’ensemble des fonctionnalités est implémenté en PHP/Laravel pour le backend et Vue.js/Vuetify pour le frontend, avec une gestion complète de la configuration, des notifications, et des limites d’utilisation pour assurer la performance et la sécurité.