Skip to content

zoukidev/CV-Blockchain

Repository files navigation

CV Blockchain 🚀

Une approche innovante pour présenter votre CV sous forme de blockchain ! Ce projet implémente une blockchain simple en C# avec ASP.NET Core, où chaque étape de votre parcours professionnel devient un bloc dans la chaîne.

🎯 Concept

Au lieu d'un CV traditionnel, vos expériences professionnelles, formations et projets sont stockés comme des blocs dans une blockchain. Chaque "mineur" (recruteur, collègue, etc.) peut ajouter des blocs représentant vos réalisations et recevoir des tokens en récompense.

✨ Fonctionnalités

  • 🔗 Blockchain sécurisée : Chaque bloc est lié cryptographiquement au précédent
  • ⛏️ Système de minage : Ajout de nouveaux blocs via proof-of-work
  • 🏆 Tokens de récompense : Les mineurs reçoivent des tokens uniques
  • 💾 Persistance : La blockchain est sauvegardée en JSON
  • 🌐 API REST : Interface web pour interagir avec la blockchain
  • 🔒 Anti-spam : Un mineur ne peut pas miner deux fois la même donnée

🛠️ Technologies

  • C# (.NET 8)
  • ASP.NET Core (API Web)
  • SHA-256 (Hachage cryptographique)
  • JSON (Stockage des données)

🚀 Installation et lancement

Prérequis

  • .NET 8.0 SDK installé

Commandes

# Cloner le projet
git clone <votre-repo>
cd Blockchain-CV

# Restaurer les dépendances
dotnet restore

# Lancer l'application
dotnet run

L'application sera accessible sur http://localhost:5000 ou https://localhost:5001

📖 Utilisation

Endpoints disponibles

Endpoint Méthode Description
/ GET Page d'accueil
/chain GET Afficher toute la blockchain
/mine?data=<données>&miner=<mineur> GET Miner un nouveau bloc
/tokens GET Liste des tokens générés

Exemples d'utilisation

# Voir la blockchain complète
curl http://localhost:5000/chain

# Miner un nouveau bloc
curl "http://localhost:5000/mine?data=Formation%20en%20développement&miner=recruteur1"

# Voir les tokens générés
curl http://localhost:5000/tokens

🔍 Structure du projet

├── Program.cs           # Point d'entrée et configuration API
├── Blockchain.cs        # Logique de la blockchain
├── Block.cs            # Structure d'un bloc
├── cv_chain.json       # Stockage persistant de la blockchain
└── README.md           # Documentation

📝 Format des données

Chaque bloc contient :

  • Index : Position dans la chaîne
  • Timestamp : Date/heure de création
  • CVData : Vos données de parcours (formation, expérience, projet...)
  • PreviousHash : Hash du bloc précédent
  • Hash : Hash unique du bloc
  • Nonce : Nombre utilisé pour le proof-of-work
  • Miner : Identifiant de celui qui a ajouté le bloc

🎨 Idées d'utilisation

  • Portfolio interactif : Laissez vos contacts ajouter des recommandations
  • CV collaboratif : Collègues ajoutent leurs témoignages
  • Gamification : Récompenser l'engagement avec des tokens
  • Preuve d'authenticité : Vérification cryptographique de votre parcours

🔧 Personnalisation

Vous pouvez modifier :

  • La difficulté de minage dans Blockchain.cs (propriété Difficulty)
  • Le bloc Genesis avec vos informations personnelles
  • Les endpoints pour ajouter de nouvelles fonctionnalités
  • Le format des tokens de récompense

🤝 Contribution

N'hésitez pas à proposer des améliorations :

  • Nouvelles fonctionnalités
  • Interface web
  • Optimisations de performance
  • Tests unitaires

📄 Licence

Ce projet est open source. Utilisez-le librement pour créer votre CV blockchain unique !


"Votre parcours professionnel mérite une technologie à la hauteur de vos ambitions !" 🌟

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages