>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
TypeScript

So verwandelst du dein GitHub-Profil in eine ultimative Team-Fußballkarte

Die meisten GitHub-Profile sehen gleich aus. Ein langweiliges grünes Raster mit Commits, ein paar Standard-Badges, die Programmiersprachen anzeigen, und ein Besucherzähler direkt aus den frühen 2000ern. Vor ein paar Tagen bin ich auf das Projekt GitFut gestoßen, das dieses Problem auf unerwartete Weise löst. Es verwandelt die Entwickleraktivität in eine vollständige Spielerkarte im Stil von FIFA Ultimate Team mit einer Bewertung von bis zu 99, einer Feldposition und einer Reihe von Trophäen.

GitFut mascot

Der Autor des Projekts Younesfdj hat das wie ein gewissenhafter Sportanalyst angegangen. Der Dienst zieht keine Zahlen aus der Luft und fragt nicht nach Fragebögen. Er greift auf die GraphQL-API von GitHub zu, lädt den Kontverlauf herunter und ordnet die Metriken sechs Fußballattributen zu.

GitFut card GitFut card GitFut card

Sechs Attribute und Positionsberechnung

Statt der üblichen Codezeilen bewertet der Dienst deinen tatsächlichen Beitrag zu Open-Source- und Arbeits-Repositories. Jedes Fußballattribut ist mit einer bestimmten Aktion verknüpft:

  • PAC (Tempo) wird basierend auf der Anzahl der Commits im letzten Kalenderjahr berechnet. Je regelmäßiger du Code pushst, desto höher das Tempo.
  • SHO (Schießen) hängt von der Anzahl der Sterne ab, die deine Repositories gesammelt haben.
  • PAS (Passen) spiegelt Teamarbeit wider und kombiniert gesendete Pull-Requests mit der Anzahl der Follower.
  • DRI (Dribbeln) zeigt die Vielfalt der Programmiersprachen in deinem Portfolio.
  • DEF (Verteidigung) basiert auf der Anzahl der durchgeführten Code-Reviews und geschlossenen Issues.
  • PHY (Physisch) bewertet das gesamte Beitragvolumen über die gesamte Lebensdauer des Kontos.

Basisattribute haben eine harte Obergrenze von 88. Um in die 90+-Kategorie zu gelangen und einen Icon-Status zu erhalten, reicht ein erfolgreiches Jahr nicht aus. Man braucht Jahre konsequenter Arbeit und echte Auswirkungen auf die Community.

Die Positionsbestimmung funktioniert auf interessante Weise. Der Algorithmus betrachtet die Statistikbalance: Ein Entwickler, der sich auf Sterne und beliebte Releases konzentriert, wird in den Angriff geschickt (Position ST oder RW), während jemand, der Issues schließen und Reviews durchführen liebt, zum tiefen Spielmacher wird.

Bronze Silver Gold In-Form TOTY Icon

Schutz vor Commit-Spam

Das Hauptproblem bei jeder GitHub-Bewertung sind Spam-Bots und Auto-Commits. GitFut hat dies mathematisch gelöst.

Gesamte jährliche Aktivität wird mit einer logarithmischen Formel gewichtet:

yearScore = 4·log(commits) + 3·log(PRs) + 3·log(reviews) + 2·log(issues) + 2·log(private)

Der Logarithmus sättigt schnell. Wenn ein Skript 20.000 Commits in einem leeren Repository generiert, trägt es 17,2 Punkte bei. meanwhile, a real developer with 800 commits, 80 PRs, 80 reviews, and 40 issues over a year will get 26 points. Versatile activity is valued much higher by the algorithm than dumb counter-stuffing.

Trophäensammlung und goldene Bälle

Wenn die Karte die Schwelle von 80 Overall-Bewertung überschritten hat, wird das Profil für Auszeichnungen berechtigt:

  1. Ballon d'Or. Verliehen für ein Kalenderjahr, das den Karrieredurchschnitt deutlich übertroffen hat. Du musst mindestens 2.000 Beiträge sammeln und ein Ergebnis zeigen, das 1,2-mal höher als der Median ist.
  2. WM-Goldener Ball. Für einen Produktivitätsschub während tatsächlicher Weltmeisterschaftsturniere (von 2010 bis 2026). Die Anforderungen sind für ältere Turniere bescheidener, da 2010 bereits das Vorhandensein von Commits ein Konto hervorstechen ließ.
  3. Goldener Stiefel. Eine dynamische Trophäe für die aktuelle Form. Sie wird von Angriffspositionen mit einer Schuss-Bewertung von 80 oder höher gehalten. Wenn Sterne auf frischen Repositories fallen, geht der Stiefel an jemand anderen.
  4. Weltmeisterschaftstrophäe. Ein besonderer Pokal für alle Entwickler, die Spanien in ihrem Profil aufgelistet haben (der Gewinner der WM-2026 in der Einstellung des Dienstes).

Trophäen auf der Profilseite werden mit vorgefertigten Sprites angezeigt (Skript bake-award-sprites.ts), sodass der Browser keine schwere 3D-Engine laden muss.

So integrierst du die Karte in dein Profil

Die Karte wird dynamisch generiert und als statisches Bild bereitgestellt. Du fügst einfach eine Zeile zum Markdown deines Profils hinzu:

[![My GitFut card](https://gitfut.com/YOUR_USERNAME.png)](https://gitfut.com/YOUR_USERNAME)

Das Bild wird über Redis gecacht und aktualisiert sich, wenn du Code pushst und Reviews sammelst. Wenn du einen Länderflaggenwechsel auf der Karte erzwingen möchtest, kannst du einen Parameter zur URL hinzufügen: ?country=KZ oder ?country=RS.

Das Projekt hat einen kompakten Stack: Next.js, TypeScript, Tailwind für das Styling und Redis für das Caching von GraphQL-API-Antworten.

Für wen ist dieses Projekt gedacht

GitFut wird dir wahrscheinlich nicht helfen, ein strenges Enterprise-Interview zu bestehen, aber es ist ein großartiger Ersatz für trostlose README-Widgets. Das Projekt ist mit Liebe gemacht, die Formeln berücksichtigen ehrlich die Teamarbeit, und das Auszeichnungssystem fügt Spannung zum regelmäßigen Schließen von Pull-Requests hinzu. Besuche die Website, gib deinen Benutzernamen ein und schau nach, welche Position der Algorithmus dir zuweist.

Ähnliche Projekte