Skip to content

a2haritiana/pertimm-test

Repository files navigation

🧪 Test Technique – Pertimm – Niveau 1

Ce projet est une application web développée avec SvelteKit et ShadCN UI, visant à implémenter une interface de type stepper (étapes successives) permettant de réaliser un processus d’enregistrement, connexion et candidature à une offre via une API.


🚀 Objectif

Automatiser les interactions avec l’API de recrutement fournie dans le cadre du test technique Pertimm, en suivant les étapes :

  1. Register
  2. Login (et récupération du token)
  3. Create Application
  4. Confirm Application

🧰 Technologies utilisées

  • SvelteKit – Framework moderne pour des interfaces web dynamiques
  • ShadCN UI – Bibliothèque de composants stylés avec Tailwind
  • TypeScript
  • dotenv – Chargement des variables d’environnement

⚙️ Installation

1. Cloner le projet

git clone https://github.com/ton-utilisateur/test-pertimm.git
cd test-pertimm

2. Installer les dépendances

npm install

3. Configuration de l’environnement

Copier le fichier .env.example en .env :

cp .env.example .env

Renseigner les valeurs nécessaires dans le fichier .env.


📦 Scripts

Commande Description
npm run dev Démarre l’application en développement
npm run build Compile l’application pour la production
npm run preview Lance un aperçu local de la prod

📋 Fonctionnement

L’application fonctionne comme un formulaire en étapes (stepper) :

  1. L'utilisateur s'enregistre (requête POST via l’API).
  2. Il se connecte (requête POST) et récupère un token JWT.
  3. Le token est ensuite utilisé dans les en-têtes pour soumettre une candidature.
  4. Une fois la candidature créée, une confirmation est envoyée (PATCH) à l’URL obtenue.

⏱️ L’étape de confirmation doit être faite dans les 30 secondes, sinon l’API retourne une erreur 404.


🧠 Pistes d’amélioration

  • 🔐 Persistance des tokens : actuellement le token est stocké temporairement. Implémenter une sauvegarde (dans localStorage ou IndexedDB) permettrait de le conserver entre les sessions ou rechargements.
  • 🧪 Intégrer des tests unitaires pour chaque étape
  • 🔁 Ajouter une gestion avancée des erreurs et états de chargement

📁 Structure

src/
├── lib/               # Composants & helpers
├── routes/            # Pages du stepper
├── stores/            # Gestion de l'état (token, étapes, etc.)
.env.example           # Configuration exemple

📎 Références

About

Technical test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published