ChatForge Svelte Themes

Chatforge

ChatForge — Projet front-end développé avec Svelte. Application monopage intégrant PocketBase pour la gestion des données et une API IA pour des conversations intelligentes

ChatForge

ChatForge est un projet front-end développé avec Svelte.
Il permet de mettre en application les compétences de développeur front-end en réalisant une interface utilisateur qui interagit avec l'API du LLM Mistral.


Fonctionnalités principales

Gestion des Messages

  • Affichage des messages sous forme de discussion (utilisateur vs IA).
  • Envoi d'un message utilisateur et stockage en base de données locale (PocketBase).
  • Envoi du message à une API externe d'IA (Mistral) et récupération de la réponse.
  • Affichage de la réponse de l'IA et stockage en base de données locale.

Gestion du Token d'Authentification

  • Saisie et enregistrement d'un token API dans le stockage local (localStorage).
  • Vérification de la présence du token avant d'envoyer une requête à l'API d'IA.

Gestion des Conversations

  • Affichage des conversations existantes récupérées depuis une API locale.
  • Sélection d'une conversation pour afficher les messages associés.
  • Création d'une nouvelle conversation avec un titre personnalisé.
  • Suppression d'une conversation avec mise à jour de l'interface utilisateur.

Technologies utilisées

  • Framework Frontend : Svelte
  • Bibliothèques :
    • marked pour l'affichage des messages en Markdown
  • Backend API : PocketBase pour stocker les messages
  • API IA : Service externe (Mistral AI)
  • Stockage : LocalStorage pour la gestion du token API

Architecture de l'application

Composants principaux

  • Interface de gestion des conversations : liste des conversations disponibles (statique, non fonctionnelle).
  • Zone de chat : affichage des messages avec distinction entre utilisateur et IA.
  • Zone de saisie : champ pour entrer un message et bouton d'envoi.
  • Système de gestion des tokens : formulaire de saisie pour l'authentification de l'utilisateur auprès de l'API IA (fait).

Échanges API

API locale (PocketBase)

  • Récupération des conversations : GET /collections/conversations/records
  • Création d'une conversation : POST /collections/conversations/records
  • Suppression d'une conversation : DELETE /collections/conversations/records/{id}
  • Récupération des messages : GET /collections/message avec tri par date.
  • Envoi d'un message : POST /collections/message pour créer un message.

API IA (Mistral AI)

  • Envoi d'un message et récupération de la réponse via :
    POST https://api.mistral.ai/v1/chat/completions

Contraintes et spécifications techniques

  • L'application doit être responsive et utilisable sur desktop et mobile.
  • Utilisation de classes CSS spécifiques pour différencier les messages utilisateur et IA.
  • Gestion des erreurs lors des appels API (ex : problème de connexion, réponse invalide).

Top categories

Loading Svelte Themes