Ylies Chementel

Plateforme de Suivi de Cryptomonnaies

Photo 1

Technologies utilisées

Détails du projet

Développement d'une plateforme complète pour le suivi des cryptomonnaies, permettant aux utilisateurs de suivre en temps réel les prix, visualiser des graphiques d'évolution et gérer leur portefeuille virtuel.

L'application est constituée de deux composants principaux : une application console en Java qui collecte les données de l'API CoinCap, et une application web Flask en Python qui présente ces données aux utilisateurs avec des visualisations avancées, des prévisions et un système d'alertes par email.

Technologies et Architecture

Ce projet utilise une architecture microservices avec conteneurisation Docker et déploiement sur Kubernetes.

  • Application Console (Java) : Collecte périodique des données de cryptomonnaies via l'API CoinCap et stockage dans une base de données SQLite partagée.
  • Application Web (Python/Flask) : Interface utilisateur avec système d'authentification, visualisations interactives avec Plotly, prévisions par analyse statistique, et système d'alertes personnalisables.
  • Base de données : SQLite partagée entre les deux composants, avec modèle de données pour les utilisateurs, cryptomonnaies et alertes.
  • Visualisations : Graphiques de prix, volumes, chandeliers, heatmaps et prévisions basées sur des moyennes mobiles et régressions linéaires.
  • Système d'alertes : Surveillance en temps réel des variations de prix, volumes ou capitalisations avec notifications par email selon les critères définis par l'utilisateur.
  • Tests complets : Suite de tests unitaires, tests de performance avec Locust, et analyses de sécurité intégrées au pipeline CI/CD.

Le projet est entièrement conteneurisé avec Docker et déployable via Kubernetes, démontrant une approche DevOps moderne avec intégration continue et déploiement automatisé.

Fonctionnalités clés

  • Suivi en temps réel : Mise à jour automatique des données de cryptomonnaies toutes les 5 secondes.
  • Analyse technique : Multiples types de graphiques et indicateurs pour analyser les tendances.
  • Prédictions : Algorithmes de prévision basés sur l'analyse statistique des données historiques.
  • Alertes personnalisées : Configuration d'alertes sur prix, volume, capitalisation ou variation en pourcentage.
  • Filtrage temporel : Analyse des données sur différentes plages de temps (1h, 12h, 1j, 7j).
  • Gestion de profil : Création et gestion de compte utilisateur avec suivi des alertes configurées.
  • Sécurité et performance : Authentification sécurisée, protection contre les injections SQL, et optimisation des requêtes pour une expérience fluide même sous charge.

Qualité et tests

Le projet met l'accent sur la qualité du code et la robustesse de l'application à travers:

  • Tests unitaires : Couverture complète des fonctionnalités critiques avec tests automatisés.
  • Tests de performance : Utilisation de Locust pour simuler des charges importantes et identifier les goulots d'étranglement.
  • Tests de sécurité : Analyse statique du code, tests de vulnérabilités et vérification des dépendances.
  • Intégration continue : Exécution automatique des tests à chaque push pour garantir la stabilité.

Code Source

Le code source complet de ce projet est disponible sur GitHub.

Voir sur GitHub