Skip to content

Exoshiva/dartpedia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Dartpedia – Mein erstes Dart-Projekt

Das hier ist mein erster Gehversuch mit Dart im Rahmen meiner FIAE-Umschulung. Es ist eine kleine Suchmaschine fürs Terminal, die direkt die Wikipedia-API anzapft.

Ich habe das Ganze so aufgebaut, dass ich die Logik ggf. später einfach für meine erste Flutter-App wiederverwenden kann.

🏗️ Wie ist das Projekt aufgebaut?

Anstatt alles in einen Topf zu werfen, habe ich den Code ordentlich getrennt:

  • wikipedia/: Das ist quasi das „Gehirn“. Hier stecken die API-Anbindung, die Datenmodelle und die Logik, um die Antworten von Wikipedia zu verstehen.
  • cli/: Das ist das „Gesicht“ im Terminal. Hier wird alles angezeigt und die Befehle des Nutzers verarbeitet.
  • CommandRunner: Damit die Steuerung nicht im Chaos versinkt, nutze ich eine Struktur für Befehle (wie search oder article).

✨ Was die CLI alles kann

In den letzten Tagen habe ich ein paar Features eingebaut, auf die ich stolz bin:

  • Ordentliche Befehle: Mit search kannst du stöbern und mit --im-feeling-lucky kriegst du direkt die Zusammenfassung des besten Treffers – inklusive Emojis und Farben im Terminal.

  • Fehler mitschreiben (Logging): Falls mal was schiefgeht (z. B. kein Internet), schreibt das Programm den Fehler in eine Logdatei im logs/-Ordner, statt einfach nur abzustürzen.

  • Keine Angst vor Abstürzen: Ich fange typische Probleme (wie falsche Formate oder Netzwerkfehler) sauber ab und gebe eine verständliche Rückmeldung.

  • Auf Deutsch umgestellt: Die Suche spuckt jetzt standardmäßig Ergebnisse von de.wikipedia.org aus.

  • Sauberer Workflow: Alles ist mit Git dokumentiert, unnötige Dateien werden ignoriert und der Code ist so kommentiert, dass man auch nach drei Wochen noch versteht, was man da eigentlich getippt hat.

🚀 Nutzung

Wechsle in das Verzeichnis der CLI und führe das Skript aus:

cd cli
dart run bin/cli.dart search "Programmiersprache"
# Oder wenn du direkt die Zusammenfassung willst:
dart run bin/cli.dart search "Flutter" --im-feeling-lucky

⚙️ DevOps & Qualität

Als angehender FIAE ist mir wichtig, dass die Anwendung stabil bleibt und professionell betreut werden kann. Deshalb stecken in diesem Projekt noch ein paar wichtige "Enterprise"-Features:

  • CI/CD Pipeline: Im Ordner .github liegen automatisierte Workflows, die bei jedem Push auf GitHub anspringen. Sie prüfen automatisch, ob die Abhängigkeiten sicher sind (dep_audit) und ob das Projekt fehlerfrei baut.

  • Unit Tests: Damit neue Features nicht alte Funktionen kaputt machen, habe ich automatisierte Tests (z. B. in cli/test/cli_test.dart) integriert.

  • Fehlerbehandlung & Logging: Das Programm "verschluckt" keine Fehler. Über eine eigene Logger-Klasse werden Probleme (wie Netzwerk-Aussetzer) sauber in Log-Dateien im Ordner logs/ dokumentiert.

  • Versionskontrolle: Ich nutze einen sauberen Git-Workflow mit aussagekräftigen Commits und einer gepflegten .gitignore, damit kein "Müll" im Repo landet.

About

Wikipedia im Terminal: Dart-basiertes CLI-Tool mit CommandRunner und strukturierter API-Logik

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages